python实现crontab定时任务的增删改查

python实现crontab定时任务的增删改查

本人主要业务方向是后台,在开发不同版本迭代或者项目的部署时,每次都手动去创建cron定时任务,很不符合coder的行事风格。
coder的原则是能偷懒的绝不自己动手去干,所以我们可以通过python及包完成相关的cron定时任务,这里介绍常用的增删改查操作。

1.安装pkg

pip install python-crontab

# version 
# python_crontab == 2.5.1

2.使用案例

1).增加一个crontab任务

from crontab import CronTab

方法一:
cron = CronTab(user='root')
job = cron.new(command='echo hello_world',comment='id')
job.minute.every(1)
cron.write()

方法二:
with CronTab(user='root') as cron:
    job = cron.new(command='echo hello_world',comment='id')
    job.minute.every(1)

2).删除一个crontab任务

del_cron= CronTab(user='root')
iter = del_cron.find_comment('backup1')
for job in iter:
    edit_cron.remove(job)
edit_cron.write()

3).编辑一个crontab任务,通过comment找到该任务,然后编辑

cron= CronTab(user='root')
iter_job = cron.find_comment('backup1')
for job in iter_job:
    job.set_command("python bakcup.py --port=3306")
cron.write()

4).执行任务

iter_job = cron.find_comment('data_list')
for job in iter_job:
     out = job.run()
     print out

5).设置任务运行时间

设置每天凌晨4点20运行
20 4 * * * python backup.py --host=1111 # backup2

cron = CronTab(user='root')
job = cron.new(command='python backup.py --host=1111',comment='backup2')
job.hour.on(4)
job.minute.on(20)
cron.write()

模块接口文档:https://pypi.org/project/python-crontab/
参考: https://www.cnblogs.com/mysql-dba/p/13565057.html

posted on 2021-01-29 18:24  进击的davis  阅读(639)  评论(0编辑  收藏  举报

导航