2018.06 一起诡异的Crontab事件定位 – 所有计划任务被意外清空

今天,遇到一个诡异的严重的问题需要处理,“所有的Crontab计划任务都被人清空了”。
我立刻问有没有备份,回答是“可能没有”。这样一来,情况就变得非常紧急了,因为我们每天在跑的计划任务有上百条。


于是我登陆到服务器,检查了所有相关的日志,最后终于找到了事故的原因,并且恢复了Crontab计划任务。

事故原因:

如果我们在SSH远程终端中敲下“crontab”命令之后,远程连接被一些原因(比如 糟糕的网络,程序异常)意外终止了,
那么Crontab计划任务就会被操作系统所清空。

听起来很不可思议,但是经过在虚拟机上的多次测试,它确确实实的发生了。

测试方式为 用SecureCRT开一个SSH窗口,然后敲下命令“crontab”,
接着在“任务管理器”中直接杀掉SecureCRT进程,再通过另外一个SSH窗口执行“crontab -l”,
就会发现,所有的计划任务都不存在了。

在今天事故发生的时间点上,就有人在服务器上遇到了这样的情况。

计划任务的恢复:

很幸运的,在一个目录下我找到了一个近期的备份文件,因此得以恢复。

但我们不能指望有这样的好运气存在,
因此一个可行的恢复方案是通过crontab日志文件 /var/log/cron 来进行,
将其中所有的执行内容提取出来,找到执行的时间规律,从而达到恢复的目的。

反思:

首先,应该立刻对所有服务器上的计划任务进行备份;
其次,应该养成好的习惯,在执行修改操作前对其备份(其实在对任何文件的修改操作前都应该这样做);
其实在计划任务比较多的时候,使用更专业的工具来管理要更合适一些,这方面的推荐软件有hudson以及它的后续版本。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值