通过cron日志,重建误删除的crontab信息

今天早上服务器例行检查,敲命令敲得high的时候,输入了一个crontab,本来要接着输入 -l参数的,结果一兴奋,手一震,直接敲了回车,看到光标闪烁在一个空白行,一愣之下大脑还没反应过来,左手已经按下了ctrl-d,真是狗爪子反应灵敏,不听指挥。然后,crontab -l,一片空白……

教训啊~但怎么总是每次过后就忘,下次再犯呢?

检查$home下面有没有备份,没有。检查之前的操作日志有没有相关记录,没有。检查有没有explorer,没有……

彻底晕了。

狂啃了早餐蛋糕之后,想到了cron应该有日志的,然后就找,恩,在/var/cron下,有log和olog两个文件,more一下,正是我想要的内容。

  1. #more /var/cron/log
  2. ......
  3. >  CMD: sh /backup.sh
  4. >  root 1122 c 二  5月 13 02:08:00 2008
  5. >  CMD: /usr/sbin/logadm
  6. >  root 6377 c 二  5月 13 03:10:00 2008
  7. <  root 6377 c 二  5月 13 03:10:01 2008
  8. ......


之后,只能根据日志文件,重建误删除的crontab信息。

  1. # EDITOR=vi
  2. # export EDITOR
  3. # crontab -e

然后根据日志文件的命令,输入并保存相关内容:

  1. #rebuild
  2. 0 0 * * * ntpdate 210.72.145.44
  3. 0 2 * * * sh /backup.sh
  4. 0 3 * * * /usr/sbin/logadm
  5. #.....

能找回来,还算幸运。查了一下文档,不带参数的crontab命令将试图从标准输入读取crontab的内容。在这个模式下,如用Control-D来退出的话,会删除整个crontab内容。应使用Control-C来退出

2 Responses to “通过cron日志,重建误删除的crontab信息”

  1. 丫枝 Says:

    还不错能恢复过来,总能想到《无间道》里删除警察档案的瞬间!

  2. tsingove Says:

    不要随便乱high!

评论: