crontab计划任务误删除恢复方法
crontab有运行日志,在日志里面可以找到执行过的历史命令。前提是要有root权限。由此得到系统记录过的 crontab 执行命令,过滤其他账号的命令后即可追回目标账号的 crontab 任务。
二维码
简介
本来想执行 crontab -e的,没想到手一抖就输入了crontab ,然后就进入了下面这个样子。
一看不对劲,就随手按了 Ctrl + D。
接下来,恐怖的事情发生了,crontab的所有任务都被清空了。
查找资料发现如下:
如果遗漏了任何选项,crontab可能会打开一个空文件,或者看起来像是个空文件。这时敲delete键退出,不要按<Ctrl-D>,否则你将丢失crontab文件。
自己删的crontab,跪着也要找回来。
crontab有运行日志,在日志里面可以找到执行过的历史命令。前提是要有root权限。
cat /var/log/cron* | grep CMD | awk -F'CMD' '{print $2}' | awk -F'[(|)]' '{print $2}' | sort -u
由此得到系统记录过的 crontab 执行命令,过滤其他账号的命令后即可追回目标账号的 crontab 任务。
grep CMD 可以改为 grep "(root) CMD" root 为某账号的crontab 。
命令是找回了,可是执行周期呢?
cat /var/log/cron*|grep "(root) CMD"|grep "/data/scripts/send_mail.sh"|sort|uniq