zoukankan      html  css  js  c++  java
  • 关于linux上cron服务的python封装工具

    关于cron:定时任务服务,一般linux自带且已启动.(pgrep cron查看cron服务是否启动了.)

    关于plan:一个通过python来定制cron服务的工具.其官网:
    http://plan.readthedocs.org/

    plan的使用例子:

    例子1:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('date',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

    这样就加了一个定时计划任务.(可用命令crontab -l查看已添加的任务.)

    例子2:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('echo ${PATH} && supervisord -v',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

     查看日志,发现PATH变量只有/usr/bin:/bin.没有/usr/local/bin.而我的supervisord放在/usr/local/bin下面,所以提示/bin/sh: 1:找不到supervisord.
    所以,如果要执行的任务包含了处于其他路径的命令,比如/usr/local/bin,需要这样:
    例子3:

    from plan import Plan
    cron = Plan()
    output = dict(stdout='~/stdout.log', stderr='~/stderr.log')
    cron.command('PATH=${PATH}:/usr/local/bin && supervisord -v',
                 every='1.minute',
                 output=output,
                 )
    if __name__ == '__main__':
        cron.run('update')

     上面都是用cron.command()来添加的,然后如果要添加执行的任务是python脚本,还可以这样:
    例子4:

    cron.script('trader_supvr_tool.py --supervisord=start-init',
                 every='1.minute',
                 path='~/work/xProject/etrader',
                 environment={'PATH' : '${PATH}:/usr/local/bin' },
                 output=output,
                 )

    environment和path都是cron.script()支持的参数,而cron.command()忽略.

  • 相关阅读:
    PVD与CVD性能比较
    摄像头PVD和CVD薄膜
    CVD和ALD薄膜沉积技术应用领域
    薄膜封装,等离子体技术,原子层沉积,化学气相沉积
    ALD和CVD晶体管薄膜技术
    最近参与做项目总结
    Vmware重装
    intellij一次取消项目所有的多余import
    Zabbix功能点概览
    Justice: What's The Right Thing To Do? Episode 02: "PUTTING A PRICE TAG ON LIFE"
  • 原文地址:https://www.cnblogs.com/xiaouisme/p/3872688.html
Copyright © 2011-2022 走看看