似乎我的cron任务不起作用。 以下是" contrab -l"
的结果# Begin Whenever generated tasks for: /home/mtaville/mtaville_staging/releases/20140827132856/config/schedule.rb
* * * * * /bin/bash -l -c 'cd /home/mtaville/mtaville_staging/releases/20140827132856 && RAILS_ENV=staging bundle exec rake events:archive_outdated_event --silent'
# End Whenever generated tasks for: /home/mtaville/mtaville_staging/releases/20140827132856/config/schedule.rb
以下是一些日志文件行:
Aug 28 13:42:01 67872hd63015 CRON[489]: (mtaville) CMD (/bin/bash -l -c 'cd /home/mtaville/mtaville_staging/releases/20140827132856 && RAILS_ENV=staging bundle exec rake events:archive_outdated_event --silent')
Aug 28 13:42:18 67872hd63015 crontab[495]: (mtaville) LIST (mtaville)
Aug 28 13:43:01 67872hd63015 CRON[498]: (mtaville) CMD (/bin/bash -l -c 'cd /home/mtaville/mtaville_staging/releases/20140827132856 && RAILS_ENV=staging bundle exec rake events:archive_outdated_event --silent')
当我复制/通过日志代码时:
/bin/bash -l -c 'cd /home/mtaville/mtaville_staging/releases/20140827132856 && RAILS_ENV=staging bundle exec rake events:archive_outdated_event --silent'
它有效!
问题是什么?
cron文件是由Whenever of Ruby on Rails生成的。
修改 我有这个到我的crontab
* * * * * cd && touch .it_works
而且......它有效......
答案 0 :(得分:0)
你告诉linux要做什么作为cronjob的一部分。但是你还没有开始使用cronjob。启动cronjob /etc/init.d/crond start。
答案 1 :(得分:0)
仅针对有问题的人:
创建工作类型:
job_type :rbenv_rake, %Q{export PATH="$HOME/.rbenv/bin:$PATH" ; eval "$(rbenv init -)" ; cd :path && :environment_variable=:environment bundle exec rake :task --silent :output }
使用它:
rbenv_rake "cars:import"