【发布时间】:2013-06-27 17:29:53
【问题描述】:
在 cron 作业中苦苦挣扎。服务器上的 Ubuntu 11.10。
直到最近,每天都会成功运行几次 cron 作业;然后由于另一个问题,我不得不从服务器中删除 RVM 并返回安装没有 RVM 的 ruby 1.9.3(我确定这与它有关)
我的应用中没有 .rvmrc 文件
现在,正如我从 syslog 中看到的那样,cron 作业以某种方式失败了:
Jun 30 08:03:01 ip-10-251-30-96 CRON[18706]: (ubuntu) CMD (/bin/bash -l -c 'cd /var/www/my_app/app/releases/201300629090954 && script/rails runner -e production '\''User.remind_non_confirmed_users'\''')
Jun 30 08:03:01 ip-10-251-30-96 CRON[18705]: (CRON) error (grandchild #18706 failed with exit status 127)
Jun 30 08:03:01 ip-10-251-30-96 CRON[18705]: (CRON) info (No MTA installed, discarding output)
如果我手动运行该命令(使用 env - /bin/bash -l -c '...' )它运行良好..
我将添加“set :output, 'tmp/whenever.log'” 来查看发生了什么,但我怀疑这是 ruby 版本/路径或其他问题。
知道如何正确诊断/解决此问题吗?
这是我的 cron/无论何时工作:
3 8 * * * /bin/bash -l -c 'cd /var/www/my_app/app/releases/20130629090954 && script/rails runner -e production '\''User.remind_non_confirmed_users'\'''
非常感谢
【问题讨论】:
-
您是否在同一环境中手动运行 cron 作业,在同一数据库上?
-
嗨,是的,我在 ssh 上运行命令到服务器,相同的代码/相同的数据库
-
您的意思是使用:
/tmp/whenever.log?
标签: ruby-on-rails ruby cron whenever