删除文件后尝试。如果 crontab 运行,它应该创建它
有一种方法可以检查您的 crontab 作业是否成功运行。请注意,cron 命令中的日志文件引用是使用完整路径而不是相对路径给出的。您需要确保您的脚本使用完整路径或 cd 到正确的工作目录。
Crontab Log: How to Log the Output of My Cron Script
假设您已将 backup.sh 添加到您的 crontab 中,如图所示
每天午夜执行。
$ crontab -e 59 23 * * * /home/john/bin/backup.sh
要验证此作业是否成功执行,请检查
/var/log/cron 文件,其中包含有关所有 cron 的信息
在您的系统中执行的作业。正如你从下面看到的
输出,john 的 cron 任务执行成功。
$ tail /var/log/cron
Oct 8 22:00:00 dev-db crond[18340]: (root) CMD (/bin/sh /home/root/bin/system_check &)
Oct 8 23:00:00 dev-db crond[20348]: (oracle) CMD (/bin/sh /home/oracle/bin/cleanup.sh &)
Oct 8 23:59:00 dev-db crond[20399]: (john) CMD (/bin/sh /home/john/bin/backup.sh &)
Cron 日志包含以下信息:
时间戳 – cron 作业执行的日期和时间
Hostname – 服务器的主机名(例如 dev-db)
cron 守护进程名称和 PID。例如,crond[20399]
用户名 - 执行此 cron 作业的用户名。为了
例如,约翰。
CMD – 后面的任何内容都是实际执行的命令
那个时候。
如果 backup.sh 中有任何 echo 语句,您可能需要
将它们记录到文件中。一般来说,如果backup.sh cron脚本
抛出任何输出(包括错误),您可能希望将它们记录到
日志文件。为此,请修改 crontab 条目并添加输出和
错误重定向如下图。
$ crontab -e 59 23 * * * /home/john/bin/backup.sh > /home/john/logs/backup.log 2>&1
在上面:
/home/john/logs/backup.log 表示标准输出
backup.sh 脚本将被重定向到 backup.log 文件。
2>&1 表示标准错误(2>)被重定向到同一个
标准输出 (&1) 指向的文件描述符。
因此,标准输出和错误都将被重定向到
/home/john/logs/backup.log