可以随时gem保留crontab文件中的现有行吗?

Wes*_*ble 6 ruby crontab environment-variables whenever

我在用:

  • Ruby 1.9.2
  • 每当0.7.2
  • capistrano 2.9.0
  • capistrano-ext 1.2.1

我正在使用Capistrano一起部署来管理我的crontab文件.

我注意到它每次都完全重写了我的crontab文件.

我希望能够在cron中设置环境变量来控制PATH和MAILTO设置,这些设置是常规的cron环境变量.

有没有办法在不覆盖整个crontab文件时制作,这样我就可以为我的crontab文件添加自定义项并确保它们会持续存在?

Cal*_*vin 12

是的,你可以这样做.您只需要为正在写入crontab的任务分配一个标识符:

whenever --update-crontab some_identifier_name
Run Code Online (Sandbox Code Playgroud)

它将在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
Run Code Online (Sandbox Code Playgroud)

然后,无论何时调用上面的命令,它只会更新它找到您指定的标识符的位置.