我们有较长的构建,通常我们会安排我们的 cron 作业,但有时我们必须在非标准时间范围内重新运行构建,并且可能会与在这些时间通常可以安全运行的 cron 作业发生冲突。
我们有多个帐户同时运行构建和 cron 作业,所以我们不能暂停整个机器的 crontab 服务,然后再重新启动它。
我想知道是否有人有模式或实现。我想象这工作像
用户创建一个文件: ~/block-crontab
user running build cron 作业在用户的主目录中查找该文件,如果存在则跳过所有 cron 作业。否则它运行作业然后当构建完成时,用户删除 ~/block-crontab
那行得通吗?我猜我需要以某种方式修改 cron 脚本。我主要想知道是否有更好/标准的方法来解决这个问题?
谢谢。
sho*_*hok 10
crond我强烈建议在构建脚本中实现一些(甚至是简单的)锁定形式,而不是搞乱。例如,触摸并检查中的文件/var/run/:如果您的脚本找到某些内容,则另一个进程正在构建项目。完成后,您显然需要删除锁定文件。
正如@GnP 在评论中指出的那样,您还可以使用该flock实用程序来半自动地管理您的锁定文件。
如果您不/不能依赖任何锁定机制,只需发出 aservice crond stop即可关闭crond系统。
| 归档时间: |
|
| 查看次数: |
208 次 |
| 最近记录: |