# 深入淺出 Crontab 格式 ###### tags: `crontab`, `cronjob` ## Case study * Case one https://crontab.guru/#0_0_*/2_*_* `0 0 */2 * *` Q: 廣義來解釋是每兩天執行一次,但實際是偶數天執行還是奇數天執行呢? A: 奇數 * Case two https://crontab.guru/#0_*/2_*_*_* `0 */2 * * *` Q: 廣義來解釋是每兩個小時執行一次,但實際是偶數時執行還是奇數時執行呢? A: 偶數 * Why different 1. 第一次執行的判斷基於給定單位的起始範圍 2. `*` 號在解析時會自動被代換為該單位的最大範圍 * Minute: (0~59) * Hour: (0~23) * Day: (1~31) * Month: (1~12) * Day(Week): (0~6) 讓我們試著代換剛剛的 Case * Case one: `0 0 1-31/2 * *` > 起始數字為 1 -> 奇數 -> `1, 3, 5, 7, ...` 時執行 * Case two `0 0-23/2 * * *` > 起始數字為 0 -> 偶數 -> `0, 2, 4, 6, ...` 時執行 Q: 如果我們想在 Case one 指定偶數天執行呢? A: `0 0 2/2 * *` == `0 0 2-31/2 * *` > 起始數字為 2 -> 偶數 -> `1, 3, 5, 7, ...` 時執行 ~~媽媽我再也不怕要交給上級的報告沒生出來啦!~~