Rake命令在终端中起作用,但在crontab中不起作用

时间:2018-12-05 15:35:01

标签: ruby-on-rails linux shell cron

我尝试执行此crontab行:

*/1 * * * * /bin/bash -l -c 'source $HOME/.bash_profile && cd /home/uservm/RubymineProjects/ && RAILS_ENV=development bundle exec rake accr:generate_pdf'

如果我在终端中执行cd /home/uservm/RubymineProjects/ && RAILS_ENV=development bundle exec rake accr:generate_pdf,则可以正常运行,但不能在cron中运行

1 个答案:

答案 0 :(得分:0)

这是因为crontab在与普通用户不同的环境中运行(当您键入终端时)。因此,您需要指定您的ruby安装路径:

运行:

$ which ruby

复制您的红宝石路径,然后将crontab更改为

*/1 * * * * /bin/bash -l -c 'source $HOME/.bash_profile && cd /home/uservm/RubymineProjects/ && /path/to/ruby RAILS_ENV=development bundle exec rake accr:generate_pdf

如果仍不能解决问题,请运行$ which bundle并将红宝石路径替换为该捆绑包路径,看看是否可行。

这应该可以解决您的问题。有关更多信息:See this