我有一个 rake 任务,我想每天执行一次:在生产中安装了 rvm
在schedule.rb我有
set :output, "/home/username/data/public_html/log/cron_log.log"
every 24.hours do
rake "fetch:smth"
end
crontab -l 显示:
MAILTO="my.mail@gmail.com"
PATH="/usr/local/rvm/rubies/ruby-1.9.3-p125/bin/ruby "
@daily cd /home/username/data/www/nameofsite.com && RAILS_ENV=production bundle exec rake fetch:smth
真的,我有点困惑,因为以前我没有使用 cron 的经验,所以请帮忙。
编辑#1
我已经运行了 rvm env -- path 1.9.3@global 它给了我:
PATH="/usr/local/rvm/gems/ruby-1.9.3-p125/bin:/usr/local/rvm/gems/ruby-1.9.3-p125@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p125/bin:/usr/local/rvm/bin:$PATH"
然后我
MAILTO="said.kaldybaev@gmail.com"
PATH="/usr/local/rvm/gems/ruby-1.9.3-p125/bin:/usr/local/rvm/gems/ruby-1.9.3-p125@global/bin:/usr/local/rvm/rubies/ruby-1.9.3-p125/bin:/usr/local/rvm/bin:$PATH"
@daily RAILS_ENV=production rake rate:fetch
当我从 ISPmanager 运行执行时,它给了我:Exited with return code = 1下面 的链接说如果退出错误是 1,那么已经有一个 /var/run/cron.pid 文件。这是真的,但我没有root权限