zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    NOIP1996 第三题
    vijos P1071
    USACO 2.3
    NOIP2006 第二题(change)
    NOIP2006 第二题
    NOIP2005 第三题
    Building Block 动态规划
    砝码问题 Weight
    装箱问题(Packing DP)
    算法第二章上机实践报告
  • 原文地址:https://www.cnblogs.com/davis12/p/14346475.html
Copyright © 2011-2022 走看看