對於運維人員來說,使用腳本自動化編輯crontab是常見的一個工作場景,本篇介紹采用python-crontab 包來對crontab進行增、刪、改等常見的操作。
1、介紹
python-crontab最新版是2.5.1,支持Python 2.7以及Python 3 (3.5, 3.6, 3.7), 不支持python 2.6
2、安裝
pip install python-crontab
3、使用案例
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()