码迷,mamicode.com
首页 > 编程语言 > 详细

关于linux上cron服务的python封装工具

时间:2014-07-28 14:48:13      阅读:216      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   art   linux   

关于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()忽略.

关于linux上cron服务的python封装工具,布布扣,bubuko.com

关于linux上cron服务的python封装工具

标签:style   blog   http   color   使用   strong   art   linux   

原文地址:http://www.cnblogs.com/xiaouisme/p/3872688.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!