我每5分钟运行一个cron选项卡,它包含一个需要执行的.sh文件,其中.sh文件由ruby代码组成....有一点我无法理解当我是直接在终端执行.sh文件,它的get执行,但crontab中的相同内容失败..我在crontab中的条目如下:
1) mysqldump -uroot -p'myPassword' redmine144 > redmine144_$(date +%Y_%m_%d_%H_%M).sql;
2) cd /home/ror/Projects/redmine144/;
source /usr/local/rvm/environments/ruby-1.9.3-p194@redmine144
bundle exec rake "hb:project_progress"
第一个采取备份,它工作正常。 第二个运行一些红宝石耙任务(不是工作形式的cron选项卡)
答案 0 :(得分:2)
通常crontab输出没有定向到stdout,所以你检查你输出的包含cron日志的/ var / log / cron文件。您可以添加输出并重定向错误,有关详细信息,请参阅http://www.thegeekstuff.com/2012/07/crontab-log/并查看upp弹出的错误,您将能够找到它...
答案 1 :(得分:0)
让RVM与cron一起工作真的很棘手。我将从我自己的crontab共享一个片段,该片段已被证明有效(使用系统范围的RVM) - 只需确保您的应用程序路径有.rvmrc
指定ruby版本和gemset。
MAILTO=mymail@gmail.com
SHELL=/bin/bash
? ? ? ? ? source /etc/profile.d/rvm.sh; cd /app/home/path && bundle exec rake whatever_you_need RAILS_ENV=production
SHELL
很重要。
MAILTO
可以帮助调试,以后可以删除。
不要忘记用你的日程表替换问号。