我尝试使用cron作业as explained here安排备份。
cron的工作确实在运行,但遗憾的是不在其中执行命令。
这是我的schedule.rb文件
every 1.minute do
command "backup perform -t my_backup"
end
转换为此cron文件:
# Begin Whenever generated tasks for: /home/roy/Backup/config/schedule.rb
* * * * * /bin/bash -l -c 'backup perform -t my_backup'
# End Whenever generated tasks for: /home/roy/Backup/config/schedule.rb
然后每分钟运行一次cron作业(我可以通过运行grep CRON /var/log/syslog
来看到)。这些是我最后的cron工作:
Mar 20 21:48:01 roybuntu CRON[18041]: (roy) CMD (/bin/bash -l -c 'backup perform -t my_backup')
Mar 20 21:48:01 roybuntu CRON[18040]: (roy) MAIL (mailed 37 bytes of output but got status 0x004b from MTA#012)
Mar 20 21:49:01 roybuntu CRON[18063]: (roy) CMD (/bin/bash -l -c 'backup perform -t my_backup')
Mar 20 21:49:01 roybuntu CRON[18062]: (roy) MAIL (mailed 37 bytes of output but got status 0x004b from MTA#012)
我还安装了postfix,因为之前我得到了"没有安装MTA"上例中的错误消息。然而,这并没有解决它。
有谁熟悉这个问题和/或知道如何修复它?
修改
另外以root用户身份运行cron文件似乎不起作用。我使用sudo crontab -e
编辑根cron文件。
这是我添加root crontab后运行grep CRON /var/log/syslog
命令时的输出:
Mar 21 19:36:01 roybuntu CRON[9387]: (root) CMD (/bin/bash -l -c 'backup perform -t my_backup')
Mar 21 19:36:01 roybuntu CRON[9388]: (roy) CMD (/bin/bash -l -c 'backup perform -t my_backup')
Mar 21 19:36:01 roybuntu CRON[9385]: (roy) MAIL (mailed 37 bytes of output but got status 0x004b from MTA#012)
Mar 21 19:36:01 roybuntu CRON[9386]: (root) MAIL (mailed 90 bytes of output but got status 0x004b from MTA#012)
答案 0 :(得分:2)
您是否尝试以与应用程序相同的用户身份运行cron task命令?它可能没有运行该命令的权限。