crontab이란?
윈도우의 스케쥴러와 비슷한 역할을 하는것으로,
"특정 시간에 특정한 작업을 해주는 프로그램"입니다.
crontab 사용법
crontab -e 명령어를 치면 주기적으로 실행되는 항목이 무엇인지 확인할 수 있으며,
어떤 작업을 언제 실행할지 정의할 수 있습니다.
예를 들면 아래와 같이 명령어를 입력후 엔터를 치면,
crontab -e
아래와 같은 화면이 뜹니다.
vi 로 파일을 연 것 처럼 보여지게 됩니다.
해당 값들을 수정하고 ESC를 누른 후, :wq 를 타이핑하여 엔터하면 crontab(스케줄러) 가 반영되어 내가 설정한 시간에 작업이 수행됩니다.
각 줄은 어떤 명령을 언제 실행할 것인지 각각의 항목을 뜻합니다.
한 row에서 각 항목이 의미하는 바는 다음과 같습니다.
즉, 몇분, 몇시, 몇일, 몇월, 무슨요일에 어떤 항목을 실행할 것인지를 설정합니다.
*은 every를 뜻합니다.
마지막 부분의 값(요일)에서, 0은 일요일이고, 1부터 월요일, 6이 토요일입니다.
예를 들어, 아래 예제를 살펴보겠습니다.
* 1 2 3 4 /home/test.sh
이 crontab의 뜻은
3월 2일 목요일 1시 매 분(*) 마다 /home/test.sh 를 실행한다는 의미입니다.
다양한 사용 예제
# 매분 실행
* * * * * /home/test.sh
# 매일 매시간 0분, 20분, 40분에 실행
0,20,40 * * * * /home/test.sh
# 매일 1시 0분부터 20분까지 매분 실행
0-20 1 * * * /home/test.sh
# 매 15분마다 실행
*/15 * * * * /home/test.sh
crontab 백업
crontab을 혹시라도 잘못 수정할 경우를 대비하여 아래와 같이 crontab을 등록하여 백업할 수 있습니다.
* 1 * * * crontab -l > /home/crontab_backup.txt
이 뜻은 매일 1시마다 crontab -l 을 실행하고, 그 결과를 /home/crontab_backup.txt에 쓰겠다는 뜻입니다.
crontab -l은 cat 명령어로 파일을 읽어들인 것과 같이, 크론탭 내용이 나오게 하는 명령어 입니다.
#crontab, #linux, #scheduler, #주기, #스케쥴러
댓글