我尝试执行此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中运行
答案 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