我在Ubuntu 服务器上将每当我的 Rails 3.2 应用程序使用 gem。我有一个月度工作,我想在每个月的第一天运行,但它似乎没有用。
我知道代码有效,因为当我发现它没有运行时,我从服务器上的控制台运行它。我还有其他更频繁地运行(每小时、每天)的工作,但这个没有运行。有人可以帮我确定我做错了什么吗?
# schedule.rb
every 1.month, :at => "beginning of the month at 3am" do
rake "users:update_monthly"
end
# lib/schedule.rake
namespace :users do
task :update_monthly => :environment do
User.update_monthly
end
end
当我crontab -l
在服务器上运行时:
# Begin Whenever generated tasks for: whenever_schedule
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/articles
0 3 1 * * /bin/bash -l -c 'cd /var/deploy/foo/web_head/releases/20130801200106 && RAILS_ENV=production bundle exec rake users:update_monthly --silent'
# End Whenever generated tasks for: whenever_schedule