当前位置:首页 > linux教程 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-21 16:13:23 浏览: 评论:0 

crontab任务通常是一个非常重要的东西了,我们通常会要使用crontab来定时执行一些东西了,但有时有朋友会碰到crontab自动没了,那么crontab自动清除要如何解决呢?

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

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

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

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

场景重现:

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

  1. $ crontab -l 
  2.  
  3.   * * * * * pwd 

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

$ crontab

3.直接关闭会话,Close或Discount都行,模拟网络质量差,或程序异常中止等情况.

4.再次查看crontab内容,发现内容被清空.

  1. $ crontab -l 
  2. $ --phpfensi.com

预防方案:

crontab定时备份

修改crontab前,先对当前crontab进行备份,添加crontab和crontab -r的alias

Crontab没有备份时如何处理:只能通过分析/var/log/cron日志,提取执行的内容,并找到时间规律,欢迎提出更好的办法呀.

Tags: crontab计划任务 linux计划任务

分享到: