【发布时间】:2014-01-11 08:21:59
【问题描述】:
我正在尝试将自动备份机制集成到 Rails 应用程序并决定使用backup gem。备份文件有效并且手动成功运行,但是当我将它部署在 VPS 上时,它根本没有由 cron 运行。甚至日志文件也是空的。
schedule.rb:
every :day, :at => '2:00 am' do
command "backup perform --trigger database_backup --config_file config/backup.rb --log-path log --tmp-path tmp",
:output => {:error => 'log/cron_backup_error.log', :standard => 'log/cron_backup.log'}
end
crontab -l 命令结果:
0 2 * * * /bin/bash -l -c 'backup perform --trigger database_backup --config_file config/backup.rb --log-path log --tmp-path tmp >> log/cron_backup.log 2>> log/cron_backup_error.log'
如果我在 VPS 上手动运行这 2 个命令中的任何一个,它都会工作,但它们不能通过 cron 工作。所有其他计划任务也运行良好。
感谢您提供的任何帮助!
【问题讨论】:
-
它是环境变量,Bash 可能对 ruby 路径一无所知,因此您可能需要将 ruby 路径添加到 crontab 文件的顶部,如果您使用
rvm和 @ 就可以轻松实现987654326@
标签: ruby-on-rails ruby whenever