Cron

cron

cron์€ ์œ ๋‹‰์Šค/๋ฆฌ๋ˆ…์Šค ์‚ฌ์šฉ์ž๋กœ ํ•˜์—ฌ๊ธˆ ํŠน์ •ํ•œ ๋ช…๋ น์ด๋‚˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง€์ •ํ•œ ์‹œ๊ฐ„/๋‚ ์งœ์— ์ž๋™์œผ๋กœ ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋‹ค. ์ฆ‰, cron์€ ๋ฏธ๋ฆฌ ๊ตฌ์„ฑ๋œ ์‹œ๊ฐ„์— ์‹คํ–‰๋˜๋„๋ก ์ž‘์—…์„ ํ• ๋‹นํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋„๊ตฌ ์ด๋‹ค.

crontab

cron ์„ค์ • ํŒŒ์ผ๋กœ, crontable์„ ์ค„์—ฌ crontab์ด๋ผ ๋ถ€๋ฅธ๋‹ค. ์‹œ์Šคํ…œ ์šด์˜์— ํ•„์š”ํ•œ ์ž‘์—…์€ root๊ถŒํ•œ์œผ๋กœ /etc/crontab ์— ๋“ฑ๋กํ•ด์„œ ์ฃผ๊ธฐ์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ณ , ์‚ฌ์šฉ์ž๋Š” crontab๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•ด์„œ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ๋‹ค.(mac์—์„œ๋Š” /var/at/tabs ์— crontab -e๋กœ ๋“ฑ๋ก ๊ฐ€๋Šฅ)

$ ps -ef | grep crond # cron์˜ ์‹คํ–‰ ํ™•์ธ

ํ•„๋“œ

์„ค์ • ๊ฐ’ ๋ฐ ๋‚ด์šฉ

minute

0~59๋กœ ์„ค์ •

hour

0~23์œผ๋กœ ์„ค์ •

day of month

1~31์œผ๋กœ ์„ค์ •

month

1~12๋กœ ์„ค์ •

day of week

์š”์ผ, 0~7๋กœ ์„ค์ • 0,7 : ์ผ์š”์ผ, 1~6: ์›”~ํ†  ์ง์ ‘ sun, mon, tue, wed,thu,fri,sat์œผ๋กœ ์ž…๋ ฅํ•ด๋„๋œ๋‹ค.

user-name

์‚ฌ์šฉ์ž ์ด๋ฆ„์„ ๋ช…์‹œ(์ผ๋ฐ˜์ ์œผ๋กœ ์ƒ๋žต)

command

์‹คํ–‰ํ•  ๋ช…๋ น์–ผ๋ฅด ๊ธฐ์ž…ํ•œ๋‹ค.

๊ฐ ํ•„๋“œ๊ฐ’์€ ์œ„์˜ ํ‘œ์— ๋ช…์‹œ๋œ ๊ฐ’์ด์™ธ์˜ ๊ฐ’๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ’

์„ค๋ช…

*

๋ชจ๋“ (all)

-

์—ฐ๊ฒฐ๋œ ์„ค์ • ๊ฐ’ ์ง€์ •์‹œ ์‚ฌ์šฉ

,

์—ฐ๊ฒฐ๋˜์ง€ ์•Š์€ ๊ฐ’์„ ๋‚˜์—ดํ•  ๋•Œ ์‚ฌ์šฉ

/

์—ฐ๊ฒฐ๋œ ์„ค์ • ๊ฐ’ ๋ฒ”์œ„์—์„œ ํŠน์ • ์ฃผ๊ธฐ๋กœ ๋‚˜๋ˆŒ ๋•Œ ์‚ฌ์šฉ

# ์›”~๊ธˆ๊นŒ์ง€ ์˜คํ›„ 12์‹œ์— work.sh ์Šคํฌ๋ฆฝํŠธ ์ˆ˜ํ–‰
0 12 * * 1-5 /home/dh0023/work.sh 
# 1์›”~12์›”๊นŒ์ง€ 2๊ฐœ์›”๋งˆ๋‹ค 1์ผ ์˜ค์ „ 4์‹œ 10๋ถ„์— check.sh ์‹คํ–‰
10 4 1 1-12/2 * /etc/check.sh
# ์›”์š”์ผ ์˜ค์ „ 10์‹œ์— Notice๋ผ๋Š” ์ œ๋ชฉ์œผ๋กœ root/notice ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ง€์ •ํ•œ ๋ฉ”์ผ๋กœ ๋ฐœ์†ก
0 10 * * 1 cat /root/notice | mail -s "Notice" example@naver.com
# ์›”, ์ˆ˜, ๊ธˆ ์˜ค์ „ 4์‹œ์— `.bak` ํŒŒ์ผ ์ฐพ์•„ ์‚ญ์ œ
0 4 * * 1,3,5 find / -name `*.bak` -exec rm -rf {} \;

๋ช…๋ น์–ด

$ crontab [option] ํŒŒ์ผ๋ช…

์˜ต์…˜

์„ค๋ช…

-l

crontab์— ์„ค์ •๋œ ๋‚ด์šฉ ์ถœ๋ ฅ

-e

crontab์˜ ๋‚ด์šฉ ์ž‘์„ฑํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •

-r

crontab ๋‚ด์šฉ ์‚ญ์ œ

-u

root์‚ฌ์šฉ์ž๊ฐ€ ํŠน์ • ์‚ฌ์šฉ์ž์˜ crontab ํŒŒ์ผ์„ ๋‹ค๋ฃฐ ๋•Œ ์‚ฌ์šฉ

$ crontab -l
$ crontab -e
$ crontab -r
$ crontab -e -u example # example ์‚ฌ์šฉ์ž์˜ crontab ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ธฐ๋‚˜ ์ž‘์„ฑ

์‚ฌ์šฉ์ž ์ œํ•œ

/etc/cron.allow , /etc/cron.deny ํŒŒ์ผ๋กœ cron ์‚ฌ์šฉ์ž๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ๋‹ค. /etc/cron.allow ํŒŒ์ผ์ด ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” cron.deny ํŒŒ์ผ ์—ฌ๋ถ€์™€ ์ƒ๊ด€์—†์ด ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋งŒ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. .allow ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๊ณ , .deny ํŒŒ์ผ๋งŒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” .deny ํŒŒ์ผ์— ๋“ฑ๋ก๋œ ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

์ฐธ์กฐ

Last updated