恢复误删除的crontab计划任务
2014-04-14 10:41
441 查看
一般都要备份/var/spool/cron/ 或者/etc/crontab这些数据,如果我们没有备份这个目录,那么就悲剧了么?
其他机器有相似的备份也还可以尝试恢复。
还有有其他的方法,/var/log/messages文件是系统自动轮询记录的日志,同时也是cron进程在读取crontab数据定时执行打印日志的文件。那么我们可以通过分析messages的文件来间接恢复crontab数据。
具体方法就是grep需要找回的用户的crontab的帐号名,同时带上CMD关键字,这样日志的记录执行时间就是你所设定的定时任务时间了。日志中会详细打印执行的命令信息。
注意在suse中cron的日志是写入messages的,redhat/centos是单独写入cron这个文件。如何修改日志输出的文件呢?很简单:
vim /etc/rsyslog.conf 修改此文件找到如下行修改右边的输出文件名即可。
# Log cron stuff
cron.* /var/log/cron
cron的文件在centos下类似于这样:
那么有人会问,如何找出不是每天都执行的呢?好吧,我的建议就是找出一周或者一个月的messages来分析,我想没有人会设定一条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')) |
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定时任务计划并删除之前的文件备份
- PHP计划任务:如何使用Linux的Crontab执行PHP脚本
- 利用任务计划自动删除指定日期的SQLServer备份文件
- linux 计划任务功能crontab
- Linux的计划任务--crontab
- linux配置任务计划-――crontab
- 编辑crontab添加Linux计划任务
- linux任务计划----crontab
- docker下计划任务crontab的使用方法
- 自动创建计划任务 删除
- rhel6计划任务Crontab
- sed根据关键字注释crontab的计划任务
- crontab计划任务
- Linux计划任务-crontab
- Linux下的定时计划任务——crontab
- Linux计划任务Crontab实例详解教程
- Sql2005自动备份计划任务中删除过期备份集
- Linux学习笔记_Crontab计划任务实例详解教程
- Linux计划任务Crontab实例详解教程
- linux笔记:crontab计划任务