我正在尝试将自动备份机制集成到rails应用程序中,并决定使用backupgem。备份文件是有效的,并且手动运行成功,但是当我在vps上部署它时,cron根本没有运行它。甚至日志文件也是空的。
时间表: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上手动运行这两个命令中的任何一个,它都可以工作,但cron不能工作。所有其他计划任务也运行良好。
感谢您的帮助!
最佳答案
尝试使用此配置:
job_type :backup, "cd :path && bundle exec backup perform -t database_backup -c config/backup/config.rb -l tmp/backup/log -d tmp/backup/data --tmp-path=tmp/backup/tmp --cache-path=tmp/backup/cache"
every :day, :at => '2:00 am' do
backup ""
end
如果使用rvm:
job_type :backup, "cd :path && rvm 1.9.3 do bundle exec backup perform -t database_backup -c config/backup/config.rb -l tmp/backup/log -d tmp/backup/data --tmp-path=tmp/backup/tmp --cache-path=tmp/backup/cache"
追赶:
$ whenever -w
试试gembackup-rails。
关于ruby-on-rails - 只要cron不触发备份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21060181/