ํฌ๋ก (cron) ํํ์์ด๋?
- ์ผ์ ๊ธฐ๋ฐ ์๋ํ์ ์ฐ๋ ์๊ฐ ์์ฝ ํฌ๋งท
- ์ฃผ๋ก ๋ฆฌ๋
์ค crontab, Apache Airflow, Kubernetes CronJob, Jenkins ๋ฑ ์ํฌํ๋ก/์ค์ผ์ค๋ฌ์์ ์์
์คํ ์๊ฐ์ ์ง์ ํ ๋ ์ฌ์ฉ
- Airflow, k8s ๋ฑ์์๋ ์คํ ๋ช
๋ น์ด ๋์ 5๊ฐ ์๊ฐ ํ๋๋ง ์ฌ์ฉ
- ํํ โcron scheduleโ, โcron expressionโ์ด๋ผ๊ณ ๋ถ๋ฆ
๊ธฐ๋ณธ ๊ตฌ์กฐ : โ๋ถ ์ ์ผ ์ ์์ผโ
- ๊ฐ ํ๋๋ ์๋ ํ ๊ธฐ์ค์ผ๋ก ์์๋๋ก ์
๋ ฅํจ
| ํ๋ | ํ์ฉ ๋ฒ์ | ์๋ฏธ |
|---|
| ๋ถ | 0-59 | minute |
| ์ | 0-23 | hour |
| ์ผ | 1-31 | day of month |
| ์ | 1-12 or JAN-DEC | month |
| ์์ผ | 0-7 or SUN-SAT | day of week (0๊ณผ 7์ Sunday) |
ํน์ ๊ธฐํธ
* : ๋ชจ๋ ๊ฐ
, : ์ฌ๋ฌ ๊ฐ ์ง์
- : ๋ฒ์ ์ง์
/ : ์ฃผ๊ธฐ ์ง์ (๊ฐ๊ฒฉ)
? : ์ผ๊ณผ ์์ผ ํ๋ ์ค ํ๋๋ฅผ ๋ฌด์ํ ๋ ์ฌ์ฉ (Quartz ๋ฑ ํ์ฅ)1
L : ๋ง์ง๋ง ๋ ํน์ ๋ง์ง๋ง ์์ผ (ํ์ฅ)
# : ์์์ผ#3 โ ์
์งธ ์์์ผ์ฒ๋ผ n๋ฒ์งธ ์์ผ ์ง์ (ํ์ฅ)
ํ๊ฐ ๋ฐฉ์๊ณผ ์ฃผ์์
- 5๊ฐ ์๊ฐ ํ๋๋ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ ์์ผ๋ก ํ๊ฐ
- โ์ผโ๊ณผ โ์์ผโ์ด ๋ชจ๋ ์ง์ ๋๋ฉด OR ๊ด๊ณ๋ก ๋์ (๋ ์ค ํ๋๋ง ๋ง์๋ ์คํ)
- ์์คํ
/๋๊ตฌ๋ณ ํ์ฅ ๊ธฐํธ ์ง์ ์ฌ๋ถ ๋ค๋ฅผ ์ ์์ผ๋ ๊ณต์ ๋ฌธ์ ์ฐธ๊ณ ํด์ผ ํจ
์์ ๋ชจ์
| ๋ชฉ์ | ํํ | ์ค๋ช
|
|---|
| ๋งค ๋ถ๋ง๋ค | * * * * * | 1๋ถ๋ง๋ค ์คํ |
| ๋งค์ผ 03:15 | 15 3 * * * | ๋งค์ผ 03์ 15๋ถ |
| ํ์ผ 18์ ์ ๊ฐ | 0 18 * * 1-5 | ์~๊ธ 18:00 |
| ์ฃผ๋ง ์์ | 0 0 * * 6,0 | ํ 00:00, ์ผ 00:00 |
| 10๋ถ๋ง๋ค | */10 * * * * | 10๋ถ ๊ฐ๊ฒฉ |
| ๋งค์ 1์ผ 02:00 | 0 2 1 * * | ๋งค๋ฌ 1์ผ 02:00 |
| ๋ถ๊ธฐ๋ง๋ค ์ฒซ์งธ๋ 04:30 | 30 4 1 1,4,7,10 * | 1ยท4ยท7ยท10์ 1์ผ 04:30 |
| ๋งค๋
12-31 23:59 | 59 23 31 12 * | ์ฐ๋ง ์์ 1๋ถ ์ |
| ๋งค์ฃผ ์์์ผ 09:00 | 0 9 * * 1 | ์ 09:00 |
| ํน์ ์์ผ n๋ฒ์งธ | 0 8 ? * MON#2 | ๋์งธ ์์์ผ 08:00 (ํ์ฅ) |