cron语法

最近在搞whenever时看到可以用cron语法设置定时任务。所以研究了下cron 语法。

every '0 0 27-31 * *' do
  command "echo 'you can use raw cron syntax too'"
end

cron命令,用于设置周期性被执行的指令。

格式

# 文件格式说明
#  ——分钟 (0 - 59)
# |  ——小时 (0 - 23)
# | |  ——日   (1 - 31)
# | | |  ——月   (1 - 12)
# | | | |  ——星期 (0 - 7)(星期日=0或7)
# | | | | |
# * * * * * 被执行的命令

1,*符号:

30 18 * * *        #do something

表示每天18点30分运行命令。其中*表示任意值,此例中就是说,不考虑日, 月 和 星期的值。

如果*在前:

* 5 * * *        #do something

表示从凌晨5点到凌晨6点之间,每分钟运行一次。

 

2,用逗号分割的值:

0 0 1,5,10 * *        #do something

表示在一个月的第1天,第5天,第10天的0点0分运行命令。    

 

3,range:

0 0 * * 1-5        #do something

1-5表示从星期一到星期五每天0点0分运行命令ls。

 

4, 如果同时指定了天和星期,就是都运行的关系。

0 0 10 * 1        #do something

在每个月的第10天和每个星期一运行命令。

 

5,斜杠

*/10 * * * *        #do something

表示每隔10分钟运行一次命令。如果是0-10/5则表示,在每个小时头10分钟内,每5分钟运行一次。

* 10/2 * * *        #do something

则表示从每天的第10小时开始,每隔2小时的一个小时间隔内,每秒运行一次。

 

cron语法只能精确到分钟,配合whenever 用起来还是很厉害的。

posted @ 2015-01-17 17:26  wangyuyu  阅读(7809)  评论(1编辑  收藏  举报