ํฌ๋ก (cron) ํ‘œํ˜„์‹์ด๋ž€?

  • ์ผ์ • ๊ธฐ๋ฐ˜ ์ž๋™ํ™”์— ์“ฐ๋Š” ์‹œ๊ฐ„ ์˜ˆ์•ฝ ํฌ๋งท
  • ์ฃผ๋กœ ๋ฆฌ๋ˆ…์Šค crontab, Apache Airflow, Kubernetes CronJob, Jenkins ๋“ฑ ์›Œํฌํ”Œ๋กœ/์Šค์ผ€์ค„๋Ÿฌ์—์„œ ์ž‘์—… ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ง€์ •ํ•  ๋•Œ ์‚ฌ์šฉ
  • Airflow, k8s ๋“ฑ์—์„œ๋Š” ์‹คํ–‰ ๋ช…๋ น์–ด ๋Œ€์‹  5๊ฐœ ์‹œ๊ฐ„ ํ•„๋“œ๋งŒ ์‚ฌ์šฉ
  • ํ”ํžˆ โ€œcron scheduleโ€, โ€œcron expressionโ€์ด๋ผ๊ณ  ๋ถ€๋ฆ„

๊ธฐ๋ณธ ๊ตฌ์กฐ : โ€˜๋ถ„ ์‹œ ์ผ ์›” ์š”์ผโ€™

  • ๊ฐ ํ•„๋“œ๋Š” ์•„๋ž˜ ํ‘œ ๊ธฐ์ค€์œผ๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ž…๋ ฅํ•จ
ํ•„๋“œํ—ˆ์šฉ ๋ฒ”์œ„์˜๋ฏธ
๋ถ„0-59minute
์‹œ0-23hour
์ผ1-31day of month
์›”1-12 or JAN-DECmonth
์š”์ผ0-7 or SUN-SATday of week (0๊ณผ 7์€ Sunday)
ํŠน์ˆ˜ ๊ธฐํ˜ธ
  • * : ๋ชจ๋“  ๊ฐ’
  • , : ์—ฌ๋Ÿฌ ๊ฐ’ ์ง€์ •
  • - : ๋ฒ”์œ„ ์ง€์ •
  • / : ์ฃผ๊ธฐ ์ง€์ • (๊ฐ„๊ฒฉ)
  • ? : ์ผ๊ณผ ์š”์ผ ํ•„๋“œ ์ค‘ ํ•˜๋‚˜๋ฅผ ๋ฌด์‹œํ•  ๋•Œ ์‚ฌ์šฉ (Quartz ๋“ฑ ํ™•์žฅ)1
  • L : ๋งˆ์ง€๋ง‰ ๋‚  ํ˜น์€ ๋งˆ์ง€๋ง‰ ์š”์ผ (ํ™•์žฅ)
  • # : ์›”์š”์ผ#3 โ†’ ์…‹์งธ ์›”์š”์ผ์ฒ˜๋Ÿผ n๋ฒˆ์งธ ์š”์ผ ์ง€์ • (ํ™•์žฅ)
ํ‰๊ฐ€ ๋ฐฉ์‹๊ณผ ์ฃผ์˜์ 
  • 5๊ฐœ ์‹œ๊ฐ„ ํ•„๋“œ๋Š” ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ ์ˆœ์œผ๋กœ ํ‰๊ฐ€
  • โ€œ์ผโ€๊ณผ โ€œ์š”์ผโ€์ด ๋ชจ๋‘ ์ง€์ •๋˜๋ฉด OR ๊ด€๊ณ„๋กœ ๋™์ž‘ (๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ๋งž์•„๋„ ์‹คํ–‰)
  • ์‹œ์Šคํ…œ/๋„๊ตฌ๋ณ„ ํ™•์žฅ ๊ธฐํ˜ธ ์ง€์› ์—ฌ๋ถ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์œผ๋‹ˆ ๊ณต์‹ ๋ฌธ์„œ ์ฐธ๊ณ ํ•ด์•ผ ํ•จ

์˜ˆ์‹œ ๋ชจ์Œ

๋ชฉ์ ํ‘œํ˜„์„ค๋ช…
๋งค ๋ถ„๋งˆ๋‹ค* * * * *1๋ถ„๋งˆ๋‹ค ์‹คํ–‰
๋งค์ผ 03:1515 3 * * *๋งค์ผ 03์‹œ 15๋ถ„
ํ‰์ผ 18์‹œ ์ •๊ฐ0 18 * * 1-5์›”~๊ธˆ 18:00
์ฃผ๋ง ์ž์ •0 0 * * 6,0ํ†  00:00, ์ผ 00:00
10๋ถ„๋งˆ๋‹ค*/10 * * * *10๋ถ„ ๊ฐ„๊ฒฉ
๋งค์›” 1์ผ 02:000 2 1 * *๋งค๋‹ฌ 1์ผ 02:00
๋ถ„๊ธฐ๋งˆ๋‹ค ์ฒซ์งธ๋‚  04:3030 4 1 1,4,7,10 *1ยท4ยท7ยท10์›” 1์ผ 04:30
๋งค๋…„ 12-31 23:5959 23 31 12 *์—ฐ๋ง ์ž์ • 1๋ถ„ ์ „
๋งค์ฃผ ์›”์š”์ผ 09:000 9 * * 1์›” 09:00
ํŠน์ • ์š”์ผ n๋ฒˆ์งธ0 8 ? * MON#2๋‘˜์งธ ์›”์š”์ผ 08:00 (ํ™•์žฅ)

Footnotes

  1. ํ™•์žฅ์ด ๋ถ™์€ ๊ฒƒ์€ ํ‘œ์ค€ ๋ฆฌ๋ˆ…์Šค crontab์—๋Š” ์—†๋Š” ๊ธฐ๋Šฅ โ†ฉ