微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python脚本清除linux cron中过期的定时计划

由于服务器需要定时的去执行一些任务,精确到月、日、时、分,这样cron文件中的条目就比较多了,单个的去删除比较麻烦,写了个脚本,去维护cron文件中的计划任务,删除已经过期的,保留需要执行的。 以apache用户的cron文件为例,脚本内容如下:

  1. #!/usr/bin/envpython
  2. #-*-coding:utf-8-*-
  3. importtime
  4. defdel_cront():
  5. f='/var/spool/cron/apache'
  6. read=open(f,'r')
  7. cront=read.readlines()#读取apache用户cron文件内容
  8. read=open(f,'w')
  9. read.write("")#清除当前文件内容
  10. forlineincront:
  11. if'#'notinline:
  12. a=''.join(line.strip().split()[0:4])#截取cron中的月、日、时、分字段
  13. aa=str(time.localtime()[0])+':'+':'.join(a.split()[::-1])+':00'#格式化截取到的时间字段为%Y:%m:%d:%H:%M:%s格式
  14. cront_time=time.mktime(time.strptime(aa,'%Y:%m:%d:%H:%M:%s'))#标准时间格式转化为时间戳
  15. printa,aa,cront_time
  16. Now=time.time()#当前的时间的时间戳
  17. ifNow<cront_time:
  18. read.write(line)#大于当前时间的任务回写到cron文件中,保留
  19. else:
  20. read.write(line)#注释之类的保留到文件
  21. read.close
  22. if__name__=="__main__":
  23. del_cront()
执行脚本前文件/var/spool/cron/apache中的内容如下:

python脚本清除linux cron中过期的定时计划

执行脚本截图如下:

python脚本清除linux cron中过期的定时计划

执行完脚本文件/var/spool/cron/apache中的内容如下:

python脚本清除linux cron中过期的定时计划

当前系统时间为:

python脚本清除linux cron中过期的定时计划

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐