๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธ/Linux & macOS

[Linux] ์šฐ๋ถ„ํˆฌ crontab ์Šค์ผ€์ค„ ๊ด€๋ฆฌ

by HanaV 2023. 5. 19.
728x90

crontab์„ ์ด์šฉํ•œ ์Šค์ผ€์ค„ ๊ด€๋ฆฌ


1. ์˜ˆ์ œ ์Šคํฌ๋ฆฝํŠธ ์ž‘์„ฑ 

ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•ด ์˜ˆ์ œ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ hello.sh ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž‘์„ฑํ•˜์˜€๋‹ค
(์—ฌ๊ธฐ์„œ hello.sh๋Š” shell script program์ด ๋œ๋‹ค)

  today = $(date)
    echo $today " : Hello My Ubuntu World!!!"

sh hello.sh ๋กœ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค


 2. crontab ์‹คํ–‰

$crontab -e

์‹คํ–‰ํ•˜๋ฉด ์ด๋ ‡๊ฒŒ no crontab ์ด๋ผ๊ณ  ๋œฌ๋‹ค. ์„ธ ๊ฐœ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ผ๊ณ  ํ•˜๋Š”๋ฐ, nano ํŽธ์ง‘๊ธฐ์ธ 1์„ ์„ ํƒ

 

3.  nano ํŽธ์ง‘๊ธฐ ํ™˜๊ฒฝ์—์„œ ์ฃผ๊ธฐ ์„ค์ •

*์„ 5๊ฐœ ์“ฐ๋Š”๋ฐ (*****) ์—ฌ๊ธฐ์„œ *์€ ๊ฐ๊ฐ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ๋‹ค๋ฅด๋‹ค.
์ฒซ ๋ฒˆ์งธ *์€ ๋ถ„(0~59)
๋‘ ๋ฒˆ์งธ *์€ ์‹œ๊ฐ„(0~23)
์„ธ ๋ฒˆ์งธ *์€ ์ผ(1~31)
๋„ค ๋ฒˆ์งธ *์€ ์›”(1~12)
๋‹ค์„ฏ ๋ฒˆ์งธ *์€ ์š”์ผ(0~7, 1์ด ์›”์š”์ผ 6์ด ํ† ์š”์ผ)

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ทธ๋ƒฅ *****๋กœ ์ถœ๋ ฅํ•˜๋ฉด, ๋งค ๋ถ„ ์‹คํ–‰ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

* * * * * /home/์•„์ด๋””/hello.sh >> hello.log
// => ๋งค์›” ๋งค์ผ ๋งค์š”์ผ ๋งค์‹œ๊ฐ„ 1๋ถ„๋งˆ๋‹ค hello.sh ์‹คํ–‰ํ•˜์—ฌ hello.log์— ์‹คํ–‰ ๊ฒฐ๊ณผ ์ €์žฅ

cTrl + o ํ•˜๋ฉด ์ €์žฅ

 

4. cron ์žฌ์‹œ์ž‘

$sudo systemctl restart cron

  โ€ป $crontab -l : ๋ณธ์ธ ์•„์ด๋””์—์„œ ์‹คํ–‰ํ•œ cron ๋ชฉ๋ก ํ™•์ธ
  โ€ป $crontab -r : 
๋ณธ์ธ ์•„์ด๋””์—์„œ ์‹คํ–‰ํ•œ cron ์ „์ฒด ์‚ญ์ œ
  โ€ป $cat
 /var/log/syslog | grep CRON --> crontab ๋กœ๊ทธ ํ™•์ธ

 

5. hello.log ํŒŒ์ผ์—์„œ 1๋ถ„๋งˆ๋‹ค ์ถœ๋ ฅ๋˜๋Š”์ง€ ํ™•์ธ

Ctrl + c ๋ˆ„๋ฅด๋ฉด ๋กœ๊ทธ ์ค‘๋‹จ

์ €๋Š” ์‹ค์ˆ˜๋กœ hello.sh๋งŒ ๋ฐ”ํƒ•ํ™”๋ฉด ๋ฐ‘์— ๋งŒ๋“ค์–ด์„œ ํŒŒ์ผ ์œ„์น˜ ์˜ฎ๊ฒจ์ฃผ๊ณ  ์‹คํ–‰์‹œ์ผฐ์Šต๋‹ˆ๋‹ค

 


๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„ ๋“ฑ๋ก ๋ฐฉ๋ฒ•

   ์˜ˆ) * * * * * hello.sh --> 1๋ถ„๋งˆ๋‹ค hello.sh๋ฅผ ์‹คํ–‰
   
์˜ˆ) 0 4 * * * hello.sh --> ๋งค์ผ 04์‹œ์— hello.sh๋ฅผ ์‹คํ–‰
   
์˜ˆ) 0 4 * * 1-5 hello.sh --> ์›”์š”์ผ๋ถ€ํ„ฐ ๊ธˆ์š”์ผ 04์‹œ์— hello.sh๋ฅผ ์‹คํ–‰
   
์˜ˆ) */10 4 * * * hello.sh --> ๋งค์ผ 04์‹œ 10๋ถ„, 04์‹œ 20๋ถ„, 04์‹œ 30๋ถ„,04์‹œ 40๋ถ„, 04์‹œ50๋ถ„์— hello.sh๋ฅผ ์‹คํ–‰
   
์˜ˆ) 0 */6 * * * hello.sh --> 6์‹œ๊ฐ„๋งˆ๋‹คhello.sh๋ฅผ ์‹คํ–‰
   
์˜ˆ) 0 8 * * 0,6 hello.sh --> ํ† ์š”์ผ, ์ผ์š”์ผ 08์‹œ์— hello.sh๋ฅผ ์‹คํ–‰

 - crontav -l ๋ช…๋ น์„ ํ†ตํ•ด ์ €์žฅ๋œ cron ๊ธฐ๋ก์€ ๊ณ„์ • ๋กœ๊ทธ์•„์›ƒ ์‹œ์— ์‚ญ์ œ๋จ
 - 
๋”ฐ๋ผ์„œ, ์˜๊ตฌ ์ง€์†ํ•  ๋ช…๋ น ๋ฐ ์ „์ฒด ์‹œ์Šคํ…œ ๋ ˆ๋ฒจ์—์„œ ์ˆ˜ํ–‰ํ•  ์Šค์ผ€์ค„ ๊ด€๋ฆฌ๋Š”
   
/etc/crontab์— ์ €์žฅํ•˜์—ฌ์•ผ ํ•จ

 

728x90

"); wcs_do();