V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
MonkLuf
V2EX  ›  分享创造

写了一个小轮子 - 用 Python 部署 crontab 任务

  •  
  •   MonkLuf ·
    monklof · 2016-08-24 22:07:20 +08:00 · 4095 次点击
    这是一个创建于 3014 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果在生产环境下部署软件时需要同时在系统上安装软件附带的 crontab 任务,可以使用 deploycron ,该小工具可以检查系统 crontab 是否已经有了安装了对应的 crontab 脚本,如果没有,则自动安装。

    安装

    pip install deploycron
    

    例子

    from deploycron import deploycron
    deploycron(content="* * * * * echo hello > /tmp/hello\n* * * * * echo hello2 > /tmp/hello2")
    

    更多详情: https://github.com/monklof/deploycron

    8 条回复    2016-09-30 10:25:12 +08:00
    tumb8r
        1
    tumb8r  
       2016-08-25 13:45:07 +08:00
    感觉多次一局,老司机不会这么用(添加定时任务还要先打开 python ?),
    stargazer
        2
    stargazer  
       2016-08-26 10:04:07 +08:00
    crontab -e 不就完了么。。。。
    zyqf
        3
    zyqf  
       2016-08-26 14:49:18 +08:00
    可以应用于自动脚本
    Thoxvi
        4
    Thoxvi  
       2016-08-27 00:36:09 +08:00 via Android
    同二楼,不懂用 Python 部署的意义
    dongxiaozhuo
        5
    dongxiaozhuo  
       2016-08-27 09:52:46 +08:00 via iPhone
    Ansible 的 cron 模块就行
    MonkLuf
        6
    MonkLuf  
    OP
       2016-08-27 15:41:15 +08:00
    @tumb8r
    @stargazer
    @Thoxvi 主要是 merge 功能吧,正文里面没列出,如果已有的 crontab 里面没有该记录,就添加该记录,否则不添加。直接用 crontab 的 cli 接口,用 shell 做比较麻烦。
    Thoxvi
        7
    Thoxvi  
       2016-08-27 16:15:55 +08:00 via Android
    @MonkLuf 就是防止重复添加任务?
    MonkLuf
        8
    MonkLuf  
    OP
       2016-09-30 10:25:12 +08:00
    @Thoxvi 对的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1633 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 16:44 · PVG 00:44 · LAX 08:44 · JFK 11:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.