您的位置:首页 > 运维架构 > Linux

恢复误删除的crontab计划任务

2014-04-14 10:41 441 查看
一般都要备份/var/spool/cron/ 或者/etc/crontab这些数据,如果我们没有备份这个目录,那么就悲剧了么?

其他机器有相似的备份也还可以尝试恢复。

还有有其他的方法,/var/log/messages文件是系统自动轮询记录的日志,同时也是cron进程在读取crontab数据定时执行打印日志的文件。那么我们可以通过分析messages的文件来间接恢复crontab数据。

具体方法就是grep需要找回的用户的crontab的帐号名,同时带上CMD关键字,这样日志的记录执行时间就是你所设定的定时任务时间了。日志中会详细打印执行的命令信息。

1
Nov
10 12:27:11 rh-1 CROND[4427]: (root) CMD ((echo 'hi'))
注意在suse中cron的日志是写入messages的,redhat/centos是单独写入cron这个文件。如何修改日志输出的文件呢?很简单:

vim /etc/rsyslog.conf  修改此文件找到如下行修改右边的输出文件名即可。

# Log cron stuff

cron.*                                                  /var/log/cron

 

cron的文件在centos下类似于这样:

1
[root@rh-1
log]
#
ll cron*
2
-rw-------
1 root root 16488 Nov 10 12:29 
cron
3
-rw-------
1 root root 5494 Oct 14 11:24 
cron
-20121014
4
-rw-------
1 root root 6537 Oct 21 11:24 
cron
-20121021
5
-rw-------
1 root root 20148 Oct 28 15:34 
cron
-20121028
6
-rw-------
1 root root 9051 Nov 4 10:06 
cron
-20121104
 

那么有人会问,如何找出不是每天都执行的呢?好吧,我的建议就是找出一周或者一个月的messages来分析,我想没有人会设定一条crontab一年才跑一次吧!

多做备份,安全可靠!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Linux crontab