Mysql cron选项卡来执行rails命令

Mysql cron选项卡来执行rails命令,mysql,ruby,ubuntu,Mysql,Ruby,Ubuntu,我每5分钟运行一次cron选项卡,它包含一个需要执行的.sh文件,其中.sh文件由ruby代码组成…有一件事我不明白,当我在终端直接执行.sh文件时,它的get execute会失败,但crontab中的相同内容会失败..我在crontab中的输入如下: 1) mysqldump -uroot -p'myPassword' redmine144 > redmine144_$(date +%Y_%m_%d_%H_%M).sql; 2) cd /home/ror/Projects/redmi

我每5分钟运行一次cron选项卡,它包含一个需要执行的.sh文件,其中.sh文件由ruby代码组成…有一件事我不明白,当我在终端直接执行.sh文件时,它的get execute会失败,但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"
第一个采取备份,它工作正常。
第二个是运行一些ruby rake任务(不从cron-tab工作)

通常crontab的输出不直接指向stdout,因此您可以在包含cron日志的/var/log/cron文件中签出put。您可以添加输出并重定向错误,有关更多信息,请参阅并检查弹出的upp错误,您将能够找出它…

让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
用于帮助调试,可以稍后删除


别忘了用你的时间表代替问号。

是的,RVM和crontab需要一些调整才能一起工作。下次不要在问题中包括你的密码