通过cron日志,重建误删除的crontab信息
今天早上服务器例行检查,敲命令敲得high的时候,输入了一个crontab,本来要接着输入 -l参数的,结果一兴奋,手一震,直接敲了回车,看到光标闪烁在一个空白行,一愣之下大脑还没反应过来,左手已经按下了ctrl-d,真是狗爪子反应灵敏,不听指挥。然后,crontab -l,一片空白……
教训啊~但怎么总是每次过后就忘,下次再犯呢?
检查$home下面有没有备份,没有。检查之前的操作日志有没有相关记录,没有。检查有没有explorer,没有……
彻底晕了。
狂啃了早餐蛋糕之后,想到了cron应该有日志的,然后就找,恩,在/var/cron下,有log和olog两个文件,more一下,正是我想要的内容。
- #more /var/cron/log
- ......
- > CMD: sh /backup.sh
- > root 1122 c 二 5月 13 02:08:00 2008
- > CMD: /usr/sbin/logadm
- > root 6377 c 二 5月 13 03:10:00 2008
- < root 6377 c 二 5月 13 03:10:01 2008
- ......
之后,只能根据日志文件,重建误删除的crontab信息。
- # EDITOR=vi
- # export EDITOR
- # crontab -e
然后根据日志文件的命令,输入并保存相关内容:
- #rebuild
- 0 0 * * * ntpdate 210.72.145.44
- 0 2 * * * sh /backup.sh
- 0 3 * * * /usr/sbin/logadm
- #.....
能找回来,还算幸运。查了一下文档,不带参数的crontab命令将试图从标准输入读取crontab的内容。在这个模式下,如用Control-D来退出的话,会删除整个crontab内容。应使用Control-C来退出。

05月 15th, 2008 at 10:12 am
还不错能恢复过来,总能想到《无间道》里删除警察档案的瞬间!
05月 18th, 2008 at 7:55 pm
不要随便乱high!