cron意外消失事件

起因是一件诡异的事情,Linux服务器上的cron意外消失了,查看了操作日志,并没有对cron进行编辑的命令出现。
大多是sudo crontab -l,或者不小心敲错了的sudo crond,sudo crontab...

等等,好像有不对的地方,不小心敲下 crontab 之后,会好长时间没有反应,我懒得等待,就强制退出了。
然后渡过了一个漫长的假期,回到公司,登录Linux,敲下 crontab -l,然后,发现所有的任务竟然没有了。。。

一开始我以为是命令敲错了,就连着敲了多次,这才确认是真的被意外清空了。

ok,问题到这里结束。原因解析:
如果我们在SSH远程终端中敲下“crontab”命令之后,远程连接被一些原因(比如强制退出, 糟糕的网络,程序异常)意外终止了,那么Crontab计划任务就会被操作系统所清空。
听起来很不可思议,但是经过虚拟机上的多次测试,它确确实实的发生了。
测试方式为 用SecureCRT开一个SSH窗口,然后敲下命令“crontab”,接着在“任务管理器”中直接杀掉SecureCRT进程,再通过另外一个SSH窗口执行“crontab -l”,就会发现,所有的计划任务都不存在了。

补救措施:
短期内可以通过查看crontab日志文件 /var/log/cron 进行恢复。

crontab日志操作记录分析:
进入 /var/spool/cron 目录,输入 history 命令回车查看,可判断是否曾经单独输入了 crontab,且没有加任何后缀参数。

cron执行日志分析:
执行 cat /var/log/cron 命令,如果正常执行的日志后面出现了类似 如下的日志记录,那说明十有八九是crontab导致的了。
Oct 8 14:39:45 s1 crontab[30072]: (root) REPLACE (root)
Oct 8 14:40:01 s1 crond[13605]: (root) RELOAD (/var/spool/cron/root)
Oct 8 14:40:01 s1 CROND[15313]: (root) CMD (/usr/lib64/sa/sa1 -S DISK 1 1)
Oct 8 14:40:01 s1 crond[5342]: (root) RELOAD (/var/spool/cron/root)
Oct 8 14:40:01 s1 CROND[15315]: (root) CMD (/usr/lib64/sa/sa1 -S DISK 1 1)

转载于:https://www.cnblogs.com/zetakoala/p/4863989.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值