堆:
的Apache2
Rails 2.3.8
RedHat Linux
Ruby Enterprise 1.8.7
在我的应用程序用户的crontab中获得了以下rake任务,这意味着每15分钟将记录拉入数据库表:
*/15 * * * * app_user cd /var/www/apps/my_app/current/ && rake thing:do_stuff RAILS_ENV=production
我可以看到cron守护进程在cron日志中运行此任务,但它应该将记录拉入的数据库表不会更改.当我在/ var / www / apps / my_app / current目录中手动运行它时,此任务正常运行,并将记录拉入表中,如我所料.
我重置了crontab中的PATH变量以反映使用REE,认为可能默认路径不会与/ opt / ruby-enterprise一起使用…
如何让这个rake任务实际上与cron一起运行?
解决方法
@H_301_23@0,15,30,45 * * * * /bin/bash -l -c 'cd /var/www/apps/my_app/current && RAILS_ENV=production bundle exec rake thing:do_stuff --silent'