误删Crontab计划任务的恢复

前言



有的时候,由于误操作导致计划任务被删除,如果没有计划任务的备份或记录就麻烦了。因此下面介绍的是常用的误删Crontab计划任务的恢复操作。



误删操作


<1>误退出导致,ctrl +c 退出即可

错误操作:
输入crontab后, ctrl +d


<2>误清除

crontab -r


<3>误删文件

执行ansible或其他命令,导致的cron文件丢失


<4>误断开

输入crontab后,未有操作,而远程工具由于网络等原因断开,再次连接后查看,计划任务丢失


备注:
禁止输入crontab命令不加参数



解决方法


<1>进入crontab运行日志,从日志里面查找执行过的历史命令(/var/log/cron*)

cat /var/log/cron  | grep -i "root" | grep "CMD" | awk -F '(' '{print $3}' | awk -F ')' '{print $1}' | sort -u 

#系统自带,可忽略
#run-parts /etc/cron.hourly
#/usr/lib64/sa/sa1 1 1
#/usr/lib64/sa/sa2 -A



<2>根据提取出来的命令,去确认一下时间间隔

cat /var/log/cron |grep “backup.sh”



<3>写入计划任务

crontab -e



计划任务管理



关于计划任务的管理,到现在网上已经有了各种开源的crontab计划任务的图形化的管理软件。例如:jiacrontab,JobCenter,cronsun,gocron…有兴趣的可以网上查一下。在实际上生产中有必要用到这些吗?这个得具体看公司的业务了,如果就几台服务器,用它还占资源。实际上处理一个事情的方法有很多,可以很low,也可以很高级,但关键是要实用。

以计划任务来说。
普通点的,可以建一个公共的表格,对每台的计划任务进行记录,这样就实现备份和记录。
缺点是仅仅只是实现了备份,配置仍得一台一台配置。

往上点的,写个脚本。找个跳板机作为Server端收集全部Client端的计划任务和日志,生成统计数据,使用ansible对计划任务进行配置。
缺点是没有图形化,还得自己分析日志。

高级的,使用图形化管理工具或使用python等语言,写图形化展示,在web端即可配置和分析计划任务。

你可能感兴趣的:(运维日常的FAQ,Linux常用命令使用技巧,linux)