万恶的"crontab -r"
摘要
起因
最近检查了一下数据库dump的定时任务,发现有一段时间没有新的dump文件了,准备改一改crontab,然后发生了下面的事故。按crontab -e
成了crontab -r
,键盘上E和R是邻居,一不小心就没了。
拯救
接下来说说怎么恢复吧
通过命令可以找出以前执行过的命令
1 | cat /var/log/cron* | grep CMD | awk -F'CMD' '{print $2}' | awk -F'[(|)]' '{print $2}' | sort -u |
防止再发
给crontab
别名
在/usr/bin
下面新建cron.sh
,内容如下
1 | !/bin/bash |
1 | chmod +x cron.sh |
在/etc/bashrc
或者~/.bashrc
文件最后添加alias crontab='/usr/bin/cron.sh'
cron.sh
作用
1、禁止crontab -r
2、每次编辑都备份 cron 列表到~/cronbak
目录下面