linux定时任务crontab|linux中crontab计划任务自动清空解决办法

更新时间:2019-10-01    来源:linux    手机版     字体:

【www.bbyears.com--linux】

背景描述:

某次,同事告知有台服务器上的crontab里面的任务全部都没有了,要我帮忙查一下,幸好crontab内容有备份。于是就先恢复了crontab的任务。 再具体查一下是由人为操作导致的还是其他情况

问题排查:

检查一下所有的history记录,发现没有crontab -r之类的操作(已知的是只有crontab -r可以直接清空定时任务),当然执行crontab -e编辑也可以清空,但这种情况还是排除啦

但是发现有crontab之类的操作,大家都知道执行crontab不加任何参数,命令行会卡在那里,但一般不会对crontab里面的内容有影响。

通过询问操作过该服务器的同事及相关日志,大胆做出以下测试:
场景重现:

1. 先查看一下机器上的crontab内容

$ crontab -l
  * * * * * pwd

2. 在命令行模式下,不带任何参数执行一下crontab命令

$ crontab

3. 直接关闭会话(Close或Discount都行)(模拟网络质量差,或程序异常中止等情况)
4. 再次查看crontab内容,发现内容被清空


$ crontab -l
$

预防方案:
     crontab定时备份
     修改crontab前,先对当前crontab进行备份
     添加crontab和crontab -r的alias
Crontab没有备份时如何处理:
     只能通过分析/var/log/cron日志,提取执行的内容,并找到时间规律。欢迎提出更好的办法呀

本文来源:http://www.bbyears.com/caozuoxitong/70582.html