我正在尝试将自动备份机制集成到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/

10-16 00:24