我如何版本控制项目的Cron作业?

问题描述 投票:7回答:2

我有很多项目,使用git和fab推送到服务器。它们是Django网站的负载。其中一些站点具有cron作业。

我想在可以的情况下:

  • 通过在本地编辑文件并运行fab命令(例如,我目前执行的是fab save deploy,来管理站点的cron作业)]

  • 必须远程安装新作业(仅)并替换所有旧作业(我不想每次都克隆作业)

  • 保留相同的高度可定制的时间设置。 @hourly不能解决我所有的问题。

  • 解决此问题的最佳方法是什么?


[我知道How do you deploy cron jobs to production?,但似乎集中在将Cronning入侵到Fabric脚本中,并且(至少在答案中)没有考虑到可能有多个项目需要每个用户Cron作业。

我追求的是存储在VCS中的东西(我不将fabfile推送到git-它在我所有项目之间共享)将与crontab中的其他作业一起工作。每次部署时,ProjectA和ProjectB覆盖彼此的作业都是不好的。

我有很多项目,使用git和fab推送到服务器。它们是Django网站的负载。这些站点中有一些具有cron工作。我想在一种情况下可以:管理...

git version-control cron fabric
2个回答
3
投票

所以这是到目前为止我最好的主意:


3
投票

我不喜欢编辑crontab或按用户的cron作业;任何编辑crontab的人都可能破坏您的部署。相反,我创建了进入/etc/cron.$interval的脚本,该脚本允许我使用Puppet(请参阅cron type)或简单的cp命令来部署它们。

因此,如果我需要每天运行一次的脚本,则在没有安装Puppet的情况下也可以将其放入$project/cron/cron.daily/$project

© www.soinside.com 2019 - 2024. All rights reserved.