• 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()
    
  • 相关阅读:
    UVAlive5135_Mining Your Own Business
    UVAlive3523_Knights of the Round Table
    UVA10759_Dice Throwing
    POJ3177_Redundant Paths
    UVA11027_Palindromic Permutation
    Codechef_JULY14
    UVAlive4255_Guess
    UVA10054_The Necklace
    杜教BM
    【2018徐州网络赛】Morgana Net (矩阵快速幂)
  • 原文地址:https://www.cnblogs.com/mysql-dba/p/13565057.html
Copyright © 2020-2023  润新知