我已经启动了 cron 作业,每五分钟进行一次备份,但没有显示输出。这是否意味着我的 cron tab 文件有误或服务未启动?我的 cron 作业成功运行,那么 ubuntu 中显示了什么信息?
答案1
在 Ubuntu 上,查看/var/log/syslog
cron 默认记录其活动的位置。
grep CRON /var/log/syslog
如果您修改脚本以在成功/失败等情况下输出消息,则 cron 会将输出发送到运行该作业的帐户(例如 root)。您可以通过添加[email protected]
指令定时任务文件。
答案2
解决 crontab 问题可以非常令人沮丧。我花了好几天的时间排除一些棘手的脚本故障,这些脚本手动运行正常,但每次通过 crontab 执行时都会失败。
其他提示都很好。我唯一能补充的是,您应该确保您的 crontab 会话可以访问所有必要的环境变量。例如,仅仅因为“/usr/local/foobar/bin”是 PATH 变量的一部分,并不意味着您的脚本会知道它何时通过 crontab 执行。因此,您可能希望在脚本中尽可能多地使用完整路径,或者在脚本开始时“获取”属性文件,以便您知道设置了正确的变量。
答案3
运行以下命令查看 cron 守护程序是否正在运行:
ps -e | grep cron
另外,看看
/var/log/cron
查看是否有任何条目。
答案4
我通常只是将输出重定向到某种日志文件:
30 * * * * cmd > /home/user/log/cmd.log