python-crontab 最佳實踐


對於運維人員來說,使用腳本自動化編輯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()


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM