crontab如果意外被清空,可从crontab日志里面找出历史执行记录,进行恢复。分以下两步:
1、找出crontab历史执行记录
crontab运行日志存放在目录/var/log下面,最新的日志在cron文件,还有其他历史日志在以cron-开头的其他文件:
可将所有crontab日志合并后输出,以查看crontab的所有历史执行记录。例如,我要查询root用户下crontab执行记录,可运行以下命令:
# 如要查询其他用户,将以下命令中的“root”替换成相应用户名
cat /var/log/cron*|grep "(root) CMD"|sort|uniq
2、找出某个定时任务的执行周期
从步骤1的查询结果可以看到,里面列出了很多个不同任务,这些任务的执行周期是怎么样的,该怎么找出来呢?例如,我想找出“/data/scripts/python_scripts/send_mail.sh”这个任务的执行周期,可以执行:
cat /var/log/cron*|grep "(root) CMD"|grep "/data/scripts/python_scripts/send_mail.sh"|sort|uniq
从以上输出结果可以看出,该调度每隔10分钟运行一次。
完毕。