# 深入淺出 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, ...` 時執行
~~媽媽我再也不怕要交給上級的報告沒生出來啦!~~