恢复前期准备
找到cron执行的日志,先把crontab文件备份记录恢复过程,
根据日志操作如下(建议最好先复制出一份日志)
cron执行日志:
crontab 恢复
cat cron.txt | grep "Jun 20" |awk -F '(' '{print $1 "|" $3}' | grep "echnweb" | awk -F "es-web1" '{print $1"|"$2}' |awk -F '|' '{print $1"|"$3}' | tr -d ")" | awk -F "|" '{print $2}' | sort | uniq -c
恢复每天执行的crontab
cat cron.txt | grep "Jun 19" | sed "s/.*\([0-2][0-9]:[0-5][0-9]:[0-5][0-9]\).*CMD (\(.*\))/\1 \2/g" | sort -k 3 | uniq -f 1 -u | sed "s/^\([0-2][0-9]\):\([0-5][0-9]\):\([0-5][0-9]\)/\2:\1 * * */g;s/^0//g;s/\(\):0/\1:/g;s/\([0-9]*\):\([0-9]* \*\)/\1 \2/g" | grep -v "CROND" |grep "es-web1"
查看每天执行多次的
cat cron.txt | grep "Jun 19" |awk -F '(' '{print $1 "|" $3}' | grep "echnweb" | awk -F "es-web1" '{print $1"|"$2}' |awk -F '|' '{print $1"|"$3}' | tr -d ")" | awk -F "|" '{print $2}' | sort | uniq -c |awk '{if($1!=1){print $0}}'
计算方式 按照每天24*60*60 分钟 在除以次数 每天取个大约数
21 /bin/bash /elastic/bin/lvsc/nginxlog.sh 2>&1 > /dev/null 60分钟
20 /elastic/monitor/ipmoni/ipblock.sh >>/elastic/monitor/ipmoni/ipblock.log 60分钟
21 /elastic/monitor/ipmoni/ipcount.sh >> /elastic/monitor/ipmoni/ipcount.log 60分钟
246 /elastic/monitor/ipmoni/ipmin.sh >> /elastic/monitor/ipmoni/ipmin.log 5分钟
246 /elastic/monitor/ipmoni/ngreload.sh >> /elastic/monitor/ipmoni/ngreload.log 5分钟
410 sh /elastic/monitor/alarmduanxin.sh 2>&1 >>/dev/null 5分钟
建议:执行crontab -e之前 优先执行crontab -l 简单备份,避免执行成crontab -r。