我在用:
- 红宝石 1.9.2
- 每当 0.7.2
- 卡皮斯特拉诺 2.9.0
- capistrano-ext 1.2.1
我在部署时与 Capistrano 结合使用来管理我的 crontab 文件。
我注意到它每次都会完全重写我的 crontab 文件。
我希望能够在 cron 中设置环境变量来控制 PATH 和 MAILTO 设置,它们是常规的 cron 环境变量。
有没有办法在不覆盖整个 crontab 文件时进行设置,以便我可以将自定义添加到我的 crontab 文件并确保它们会持续存在?
我在用:
我在部署时与 Capistrano 结合使用来管理我的 crontab 文件。
我注意到它每次都会完全重写我的 crontab 文件。
我希望能够在 cron 中设置环境变量来控制 PATH 和 MAILTO 设置,它们是常规的 cron 环境变量。
有没有办法在不覆盖整个 crontab 文件时进行设置,以便我可以将自定义添加到我的 crontab 文件并确保它们会持续存在?
是的,你可以这样做。您只需为写入 crontab 的任务分配一个标识符:
whenever --update-crontab some_identifier_name
它将在 crontab 中生成一个条目,如下所示:
# Begin Whenever generated tasks for: some_identifier_name
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /var/www/test/releases/20120416183153 && script/rails runner -e production '\''Model.some_method'\'' >> /tmp/cron_log.log 2>&1'
# End Whenever generated tasks for: some_identifier_name
然后,每当您调用上面的命令时,它只会在找到您指定的标识符的位置更新。