通过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来退出

3 thoughts on “通过cron日志,重建误删除的crontab信息

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*