前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小知识:如何判定crontab任务的执行频度

小知识:如何判定crontab任务的执行频度

作者头像
Alfred Zhao
发布2020-07-28 16:27:34
2540
发布2020-07-28 16:27:34
举报

所有运维人员都知道crontab定时任务的基本格式如下:

代码语言:javascript
复制
*   *   *   *   *   command
分  时  日  月   周    命令或脚本

如果是写了具体的时间,基本大家都可以清楚的根据这样的规则去匹配对应:

第1个表示分钟,取值范围:0~59; 第2个表示小时,取值范围:0~23; 第3个表示日期,取值范围:1~31; 第4个表示月份,取值范围:1~12; 第5个*表示星期,取值范围:0~6; 第6个command则表示具体要运行的命令或脚本。

今天客户咨询一个小问题,某生产环境的两条定时任务是:

代码语言:javascript
复制
* * * * * command1
*/10 * * * * command2

那这里的第一条和第二条分别代表怎样的执行频度呢? 实际上第一条代表每分钟执行一次,第二条代表每10分钟执行一次。 既然每10分钟是*/10 * * * *为啥每分钟不是*/1 * * * *呢?实际上也是可以用*/1 * * * *表示每分钟的,只不过也可以简写为* * * * *,意思是一样的。

其实这种问题最简单的确认就是实际测试下:

代码语言:javascript
复制
[oracle@jystdrac2 ~]$ crontab -l
#0 12 * * * /bin/sh /home/oracle/baby/backup_exp_t_baby.sh
* * * * * date >> /tmp/date1.log
*/10 * * * * date >> /tmp/date10.log
*/1 * * * * date >> /tmp/date3.log

然后根据日志就可以清晰的判断具体的执行频度:

代码语言:javascript
复制
[oracle@jystdrac2 ~]$ tail -10 /tmp/date1.log 
Tue Jul 28 05:32:01 CST 2020
Tue Jul 28 05:33:01 CST 2020
Tue Jul 28 05:34:01 CST 2020
Tue Jul 28 05:35:01 CST 2020
Tue Jul 28 05:36:01 CST 2020
Tue Jul 28 05:37:01 CST 2020
Tue Jul 28 05:38:01 CST 2020
Tue Jul 28 05:39:02 CST 2020
Tue Jul 28 05:40:01 CST 2020
Tue Jul 28 05:41:01 CST 2020
[oracle@jystdrac2 ~]$ tail -10 /tmp/date10.log 
Tue Jul 28 05:20:01 CST 2020
Tue Jul 28 05:30:01 CST 2020
Tue Jul 28 05:40:01 CST 2020
[oracle@jystdrac2 ~]$ tail -10 /tmp/date3.log 
Tue Jul 28 05:33:01 CST 2020
Tue Jul 28 05:34:01 CST 2020
Tue Jul 28 05:35:01 CST 2020
Tue Jul 28 05:36:01 CST 2020
Tue Jul 28 05:37:01 CST 2020
Tue Jul 28 05:38:01 CST 2020
Tue Jul 28 05:39:02 CST 2020
Tue Jul 28 05:40:01 CST 2020
Tue Jul 28 05:41:01 CST 2020
Tue Jul 28 05:42:01 CST 2020
[oracle@jystdrac2 ~]$ 
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-07-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档