今天手快了 在执行crontab-e 的时候误把命令敲成了crontab -r
一个平时没用过的命令 直接搞了我一手 所有的定时任务都没有了
然后研究了好多网上的文章,这个误删如果你没有提前备份,是没有恢复功能的
看了好多linux大神的文章 以下步骤亲测可用
1、找出crontab历史执行记录
crontab运行日志存放在目录/var/log下面,最新的日志在cron文件,还有其他历史日志在以cron-开头的其他文件:
2、找出所有近期执行过的定时任务
cat /var/log/cron* | grep CMD | awk -F'CMD' '{print $2}' | awk -F'[(|)]' '{print $2}' | sort -u
3、找出某个定时任务的执行周期
上一步查找出了很多个不同任务,这些任务的执行周期是怎么样的,该怎么找出来呢?例如,我想找出“/usr/lib64/sa/sa2 -A”这个任务的执行周期,可以执行:
cat /var/log/cron*|grep "(root) CMD"|grep "/usr/lib64/sa/sa2 -A"|sort|uniq
可以观察到 该任务的执行周期是每天23:53
这时候只需要重建定时任务就可以了
还有恢复完毕所有记录以后一定要备份!!!备份!!!备份!!!或者禁用掉crontab -r !
同时也感谢大佬的帖子:https://blog.csdn.net/andyguan01_2/article/details/89946999
linux操作需谨慎~