背景:crontab定时任务内容因未知原因被清空

1. 恢复crontab运行日志

  1. cd /var/log/
  2. cat /var/log/cron* | grep -i "`which cron`" > ./all_temp.log

2. 从运行日志中恢复cmd日志

cat ./all_temp.log | grep -v "<command>" > ./cmd_temp

3. 从cron*中获取去重后的crontab日志

awk -F '(' '/crond/{a[$3]=$0}END{for(i in a)print a[i]}' /var/log/cron* > crontab.txt
此处的crontab.txt里的内容,即为crontab定时任务里的脚本

4. 查看脚本执行周期

cat cmd_temp | grep 脚本.sh |head

根据获得到的脚本命令和脚本运行周期,重新编辑crontab添加定时内容