最近在搞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 用起來還是很厲害的。
