crontab 误删除恢复

crontab 误删除恢复

恢复操作

获取完整日志和cmd日志。从日志中恢复出一份最近几天的完整crontab 运行日志和cmd日志,并存储,用于之后完善和核准例行时间。

CentOS 系统的 crontab 任务的日志,打印在 /var/log/cron 之中。考虑过滤日志:

cat /var/log/cron* | grep CMD | awk -F'CMD' '{print $2}' | awk -F'[(|)]' '{print $2}' | sort -u
由此得到系统记录过的 crontab 执行命令,过滤其他账号的命令后即可追回目标账号的 crontab 任务。

反思工作

防止类似事件再次发生,写个简单shell脚本,每天对crontab进行备份,备份最近15天的数据。过期清楚

#!/bin/bash
# 每天对crontab 进行备份 ,同时删除最近15天的数据
DATE=$(date +%Y%m%d)

crontab -l > /home/work/bak/crontab_$DATE.bak
find /home/work/bak/ -mtime +15 -name '*.bak' -exec rm -rf {} \;

禁止crontab -r清空定时任务列表误操作

关于crontab
1、附件放/usr/bin目录下面
2、在/etc/bashrc文件末尾添加
aliascrontab='/usr/bin/cron.sh'

cron.sh作用
1、禁止crontab–r
2、每次编辑都备份cron列表到~/cronbak目录下面

posted @ 2022-04-06 10:57  玩转大数据  阅读(288)  评论(0编辑  收藏  举报