crontab的语法规则格式

最近参加面试,笔试的时候遇到很多crontab比较复杂的问题,想在这里记录一下,方便以后遇到可以查阅解决。

先说一下crontab的语法规范

代表意义分钟小时日期月份命令
数字范围0~590~230~310~120~7需要执行的命令

 

需要注意的是,一共只有5个区间,最后一个才是周,周中0和7都代表星期天,而且周还可以用英文缩写代替,如:Mon、Tues、Wed、Thur、Fri、Sat、Sun(字母大小写都可)

另外,还有一些辅助的字符,大概有下面这些:

特殊字符代表意义
*(星号)代表任何时刻都接受的意思。举例来说,范例一内那个日、月、周都是*,就代表着不论何月、何日的礼拜几的12:00都执行后续命令的意思。
,(逗号)代表分隔时段的意思。举例来说,如果要执行的工作是3:00与6:00时,就会是:0 3,6 * * * command时间还是有五列,不过第二列是 3,6 ,代表3与6都适用
-(减号)代表一段时间范围内,举例来说,8点到12点之间的每小时的20分都进行一项工作:20 8-12 * * * command仔细看到第二列变成8-12.代表 8,9,10,11,12 都适用的意思
/n(斜线)那个n代表数字,即是每隔n单位间隔的意思,例如每五分钟进行一次,则:*/5 * * * * command用*与/5来搭配,也可以写成0-59/5,意思相同

 

每分钟执行一次a.sh脚本:

*/1 * * * * /bin/sh a.sh

每小时执行一次a.sh脚本:

0  */1 * * * /bin/sh a.sh   或者  0 * * * * * /bin/sh a.sh

每天早上8点执行一次a.sh脚本:

0 8 * * * *  /bin/sh a.sh

每天早上6点到10点之间每隔两个小时执行一次a.sh脚本:

0 6-10/2 * * * /bin/sh a.sh   或者  0 6,8,10 * * * /bin/sh a.sh

每月1号0点执行一次a.sh脚本:

0 0 1 * * /bin/sh a.sh

每年一月一日0点执行一次a.sh脚本:

0 0 1 1 *  /bin/sh a.sh

每个星期二8点执行一次a.sh脚本:

0 8 * * 2 /bin/sh a.sh    或者   0 8 * * Tues /bin/sh a.sh

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值