码迷,mamicode.com
首页 > 其他好文 > 详细

cron-您的定时任务真的执行了吗

时间:2017-09-20 16:32:22      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:逗哥自动化   cron 定时任务分析   任务执行是否成功   

今日上午,生产环境怀疑某个cron定时任务没有执行,所以需要分析日志,详细过程如下,记录只为以后工作更加效率,笔者小白,请大神指点。

普及知识

cron是一种机制,crontab是指令
        它可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制

 1.取一段时间日志

语法:sed -n ‘/开始时间/,/结束时间/p‘ filename

sed -n ‘/Sep 20 08:50:*/,/Sep 20 09:50:*/p‘ /var/log/cron  >seq20_cron.log

2.过滤关键字 (也可以与上面结合一条命令搞定-这里为了步骤)

语法:grep –nr “关键字” filename

grep -nr "seq20_cron.log" > seq20.log

1.3 将过滤数据去重-统计次数-并排序

[root@web02 ~]# cat seq20.log |sort|uniq -c|sort -r
     63/****/webs/****cbeta/artisan
     62https://www.*****.cn/TimeTask/
     62https://www.*****.cn/TimeTask/
     62https://www.*****.cn/TimeTask/
     62 https://www.*****.cn/TimeTask/
     62https://www.*****.cn/TimeTask
     62https://www.*****.cn/TimeTask/
     62 https://www.*****.cn/TimeTask/
……省略若干

如果先 sort 的话,就会把所有重复的数据行变成相邻的数据行,再 uniq 的话,就去掉所有重复的数据行了。

参数介绍

-c, --count              ##在每行前加上表示相应行目出现次数的前缀编号 
-D, --all-repeated      ##只输出重复的行,不过有几行输出几行 
-i, --ignore-case       ##不区分大小写
-s, --skip-chars=N      //根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符 
-u, --unique         ##去除重复的后,全部显示出来,根mysql的distinct功能上有点像  
-z, --zero-terminated   endlines with 0 byte, not newline 
-w, --check-chars=N      ##对每行第N个字符以后的内容不作对照 
--help              ##显示此帮助信息并退出  
--version              //显示版本信息并退出

1.4 筛选日志,确定任务执行结果 (时间段 当天的8点50-9点50)

将筛选出的日志文件,与原数据文件做对比,得出最后结论

结论:

1)关于 www.****.cn站点 定时任务共计:35条  8条被注销  27条在执行

2)27条中7条没有执行,但可以忽略因为定时任务设定时间,不在范围内

0 */6 * * * /usr/bin/curl https://www.*****.cn/
0 11 * * * /usr/bin/curl 
##省略。。。

3)剩余20个定时任务,都已执行

 

##以上内容,也可用于普通ddos攻击,配置筛选日志,在自动建立iptables规则,自动封杀恶意访问IP

技术分享

本文出自 “逗哥笔记” 博客,请务必保留此出处http://qiuyt.blog.51cto.com/1229789/1967093

cron-您的定时任务真的执行了吗

标签:逗哥自动化   cron 定时任务分析   任务执行是否成功   

原文地址:http://qiuyt.blog.51cto.com/1229789/1967093

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!