ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๐Ÿ… Ch11 Running program at specified times ๐Ÿ…
    ๐Ÿ€ ํ•™๊ต ๊ณต๋ถ€/๐Ÿ… ์œ ๋‹‰์Šค ์‹œ์Šคํ…œ 2025. 4. 12. 00:16

    System clock

    ์šด์˜์ฒด์ œ๊ฐ€ ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ด€๋ฆฌํ•˜๋Š” ํ•ต์‹ฌ ์š”์†Œ / ํŒŒ์ผ ํƒ€์ž„์Šคํƒฌํ”„ ๊ธฐ๋ก, ํ”„๋กœ์„ธ์Šค ์Šค์ผ€์ค„๋ง ๋“ฑ ๋‹ค์–‘ํ•œ ์ž‘์—…์— ์‚ฌ์šฉ๋จ

    date 

    ์ธ์ž X - ํ˜„์žฌ ์‹œ์Šคํ…œ์˜ ๋‚ ์งœ, ์‹œ๊ฐ„ ์ถœ๋ ฅ

    ์ธ์ž O - ๊ฐ’ ์ด์šฉํ•ด ์‹œ์Šคํ…œ ํด๋ฝ ์„ค์ • ex) date 201505050001.30


    Scheduling commands

    ์‹œ์Šคํ…œ์—์„œ ์ž‘์—…์„ ๋ฏธ๋ฆฌ ์˜ˆ์•ฝํ•ด ์ฃผ๊ธฐ์  ๋˜๋Š” ๋‹จ๋ฐœ์„ฑ์œผ๋กœ ์‹คํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋„๊ตฌ

    cron

    ์ฃผ๊ธฐ์ ์ธ ์ž‘์—… ์˜ˆ์•ฝ

    Periodic

    Crond(daemon) - ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ํ•ญ์ƒ ์‹คํ–‰๋˜๋ฉด์„œ crontab ํŒŒ์ผ์— ์ •์˜๋œ ์˜ˆ์•ฝ ์ž‘์—…๋“ค์„ ์ง€์ •๋œ ์‹œ๊ฐ„์— ์‹คํ–‰

    crontab(file) - ๊ฐ ์‚ฌ์šฉ์ž๋Š” ์ž์‹ ์˜ crontab ํŒŒ์ผ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ, ํŒŒ์ผ ๋‚ด์— ์˜ˆ์•ฝ ์ž‘์—…(๋ช…๋ น์–ด์™€ ์‹คํ–‰ ์‹œ๊ฐ„ ์ง€์ •ํ•œ ํ–‰๋“ค)์ด ์ €์žฅ๋จ

    crontab -e (edit) - ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ crontab ํŒŒ์ผ์„ ํŽธ์ง‘ / ์›ํ•˜๋Š” ์ž‘์—…์˜ ์‹คํ–‰ ์‹œ๊ฐ๊ณผ ๋ช…๋ น์–ด ๊ธฐ๋ก

    crontab -l (list) - ํ˜„์žฌ ์‚ฌ์šฉ์ž๊ฐ€ ์„ค์ •ํ•œ ์˜ˆ์•ฝ ์ž‘์—… ๋ชฉ๋ก ์ถœ๋ ฅ

    crontab -r (remove) - ํ˜„์žฌ ์‚ฌ์šฉ์ž์˜ crontab ํŒŒ์ผ ์‚ญ์ œ

    At

    ๋‹จ๋ฐœ ์ž‘์—… ์˜ˆ์•ฝ

    One time

    Atd - at ๋ช…๋ น์–ด๋กœ ์˜ˆ์•ฝํ•œ ๋‹จ๋ฐœ์„ฑ ์ž‘์—…๋“ค์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ๋ฐ๋ชฌ

    At -t - ์˜ˆ์•ฝ ์‹คํ–‰ ์‹œ๊ฐ„์„ ์ง€์ •ํ•˜์—ฌ ๋‹จ ํ•œ ๋ฒˆ ์‹คํ–‰ํ•  ์ž‘์—…์„ ์˜ˆ์•ฝ


    crontab

    ํŠน์ • ์‹œ๊ฐ„๋Œ€์— ์˜ˆ์•ฝ๋œ ์ž‘์—… ์ž๋™์œผ๋กœ ์‹คํ–‰๋จ

    crontab ํŽธ์ง‘ ํ™˜๊ฒฝ ์„ค์ •

    EDITOR=vi

    Export EDITOR

    EDITOR ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์„ค์ •

    crontab ํŽธ์ง‘ ๋ฐ ์ž‘์—… ๋“ฑ๋ก

    Crontab -e ์‚ฌ์šฉ์ž์˜ crontab ํŒŒ์ผ ํŽธ์ง‘ํ•  ์ˆ˜ ์žˆ์Œ / ํŒŒ์ผ์— ์˜ˆ์•ฝ ์ž‘์—… ์ถ”๊ฐ€ํ•˜๋ฉด ์ง€์ •๋œ ์‹œ๊ฐ„๋Œ€์— ์ž๋™์œผ๋กœ ํ•ด๋‹น ์ž‘์—… ์‹คํ–‰

    ์˜ˆ์•ฝ ์‹œ๊ฐ„ ์ง€์ •

    Minute(0-59) Hour(0-23) Day of Month(1-31) Month(1-12) Day of week(0-7) command

    ex) 30 15 * * * /home/user/backup.sh


    crontab expression

    ์—ฌ๋Ÿฌ ๊ฐ’ ๋‚˜์—ด comma and no space - 0,2,5,7,9

    ๋ฒ”์œ„ ์‚ฌ์šฉ through - 1 ~ 5

    ๋ณ„ํ‘œ ์‚ฌ์šฉ ๋ชจ๋“  ๊ฐ’ ์„ ํƒ every - *

    ์Šฌ๋ž˜์‹œ ์‚ฌ์šฉ ์Šคํ… ์ง€์ • step - 10~16/2, 10 12 14 16 (2์”ฉ ์ฆ๊ฐ€)


    Managing out from cron

    cron ์ž‘์—…์—์„œ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•

    ์ด๋ฉ”์ผ๋กœ ์ „์†กํ•˜๊ธฐ

    commands | mail -s "..." username 

    -s - ์ด๋ฉ”์ผ์˜ ์ œ๋ชฉ ์ง€์ •

    username - ์ด๋ฉ”์ผ์„ ๋ฐ›์„ ๋Œ€์ƒ ์‚ฌ์šฉ์ž๋ช… ๋˜๋Š” ์ด๋ฉ”์ผ ์ฃผ์†Œ

    ๋กœ๊ทธ ํŒŒ์ผ๋กœ ๋ฆฌ๋‹ค์ด๋ ‰์…˜ redirect to log file

    command >> log.file

    ๊ธฐ์กด ๋กœ๊ทธ ํŒŒ์ผ์˜ ๋‚ด์šฉ ๋’ค์— ์ถœ๋ ฅ ๊ฒฐ๊ณผ ์ถ”๊ฐ€

    ์ž‘์—… ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ ์ƒˆ๋กœ์šด ๋กœ๊ทธ ํŒŒ์ผ๋กœ ๋ฎ์–ด์“ฐ๋ ค๋ฉด > ๊ธฐํ˜ธ ์‚ฌ์šฉ

     


    Controlling access to cron/st

    cron, at๊ณผ ๊ฐ™์€ ์Šค์ผ€์ค„๋ง ๋„๊ตฌ์˜ ์‚ฌ์šฉ ๊ถŒํ•œ ์ œ์–ด๋ฅผ ์œ„ํ•ด ์‹œ์Šคํ…œ์€ /etc/cron.allow, /etc/cron.deny ์‚ฌ์šฉ

    ์–ด๋–ค ์‚ฌ์šฉ์ž๊ฐ€ ์˜ˆ์•ฝ ์ž‘์—…์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ง€์ • ๊ฐ€๋Šฅ

    /etc/cron.allow

    ์ด ํŒŒ์ผ์— ๋ช…์‹œ๋œ ์‚ฌ์šฉ์ž๋“ค์€ ์˜ˆ์•ฝ ์ž‘์—… ์‚ฌ์šฉ ๊ฐ€๋Šฅ

    ์ด ํŒŒ์ผ์ด ์กด์žฌํ•˜๋ฉด, ์˜ค์ง ์ด ํŒŒ์ผ์— ๋‚˜์—ด๋œ ์‚ฌ์šฉ์ž๋“ค๋งŒ cron ์ž‘์—…์„ ๋“ฑ๋กํ•˜๊ฑฐ๋‚˜ ์‹คํ–‰ ๊ฐ€๋Šฅ

    ->

    /etc/cron.deny

    ์ด ํŒŒ์ผ์— ๋ช…์‹œ๋œ ์‚ฌ์šฉ์ž๋“ค์€ ์˜ˆ์•ฝ ์ž‘์—… ์‚ฌ์šฉ ๋ถˆ๊ฐ€

    /etc/cron.allow ํŒŒ์ผ ์—†๊ณ , /etc/cron.deny ํŒŒ์ผ๋งŒ ์กด์žฌํ•˜๋ฉด, /etc/cron.deny์— ํฌํ•จ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž๋“ค์€ ์˜ˆ์•ฝ ์ž‘์—… ์‚ฌ์šฉ ๊ฐ€๋Šฅ


    at

    one time execution

    atq - ์˜ˆ์•ฝ๋œ at ์ž‘์—…๋“ค์˜ ๋ชฉ๋ก ํ™•์ธ

    atrm - ํŠน์ • at ์ž‘์—…์„ ์‚ญ์ œ

    at -f at.file - ํŒŒ์ผ at.file์— ์ €์žฅ๋œ ๋ช…๋ น์–ด๋“ค์„ ์ฝ์–ด์™€ ์˜ˆ์•ฝ ์ž‘์—…์œผ๋กœ ๋“ฑ๋ก

    at 17:00

    at 5pm

    at noon

    at 4pm + 3 days - ์˜ค๋Š˜ ๊ธฐ์ค€ 3์ผ ํ›„ ์˜คํ›„ 4์‹œ

Designed by Tistory.