每当 gem 和我的 cron 工作是这样的时,我都在使用:
日程安排.rb
set :path, "/home/user/www/my_app/current"
...
every 60.minutes do
rake "ts:rebuild", :output => "/home/user/Sphinx/log/search.log"
end
此任务生成此 cron 作业:
0,5,10,15,20,25,30,35,40,45,50,55 * * * * /bin/bash -l -c 'cd /home/user/www/my_app/current && RAILS_ENV=生产包 exec rake ts:rebuild --silent >> /home/user/Sphinx/log/search.log 2>&1'
这个 rake 任务没有运行,但它可以从命令行运行。另一个非 rake 任务没有问题。我认为 PATH 的问题,但无法理解如何设置当前环境。