在cron中执行rake任务

时间:2011-06-02 17:52:32

标签: ruby-on-rails-3 crontab rakefile

我有一个运行我的rake任务的shell脚本(/home/user/send_report.sh):

cd /home/user/rails/app
/home/user/.rvm/gems/ruby-1.9.2-p136/bin/rake report:send

当我在控制台sh /home/user/send_report.sh中运行它时,它可以正常工作。

我正在尝试使用我的脚本创建一个cron任务:*/10 * * * * sh /home/user/send_report.sh,但没有任何反应! Rake任务应该发送邮件,但这不会发生。

/var/log/cron.log的内容:

Jun  2 21:40:01 ubuntu CRON[1253]: (user) CMD (sh /home/user/send_report.sh)
Jun  2 21:40:01 ubuntu CRON[1251]: (user) MAIL (mailed 240 bytes of output but got status 0x0001#012)

请帮助我使用crontab获取正在运行的rake脚本。

2 个答案:

答案 0 :(得分:0)

除了你应该使用/ bin / sh之外,我没有看到cron作业有什么问题。当您手动运行时,您会收到正确的电子邮件吗?它不仅适用于使用cron执行此操作吗?看来它可能是电子邮件服务器的配置错误,也可能是邮件服务器端口被阻止了?

答案 1 :(得分:0)

问题是RVM单用户安装不支持cron任务。安装RVM作为多用户和crontab正常工作。