본문 바로가기
OS/Linux

[Linux] 리눅스 크론탭(crontab) 설정하기

by 애기 개발자 2022. 3. 2.
반응형

오늘은 리눅스의 크론탭 기능에 대해서 알아보도록 하자.

 

리눅스의 크론탭 기능은 윈도우의 스케줄러와 비슷하게 작동한다.

 

윈도우의 스케줄러는 ui로 잘 되어있지만 리눅스는 직접 타이핑을 해 줘야 한다.

 

기본적으로 사용은 리눅스 쉘 (Linux Shell)에서 사용한다.

 

1. 크론탭 기본 사용법

대부분이 그렇듯이 기본적으로 CRUD가 기본이다.

 

1-1 크론탭 설정 생성

$ crontab -e

crontab -e 를 입력하면 입력할 수 잇는 창이 생성된다.

 

파일명과 이름은 가렸습니다.

위의 사진 처럼 crontab -e를 하면 현재 사용중인 crontab의 목록과

 

'insert' 키를 입력 후 아래에 새로운 crontab을 추가 할 수 있다.

 

종료는 일반적인 vi의 종료법과 동일하게

:wq 를 하면 저장 후 종료가 된다.

 

1-2 크론탭 목록 보기

$ crontab -l

crontab -l 을 하면 현재 적용중인 crontab의 목록을 볼 수 있다.

 

1-3 크론탭 삭제

$ crontab -r

crontab -r 을 하면 위의 crontab -e 와 동일하게 목록이 나오며 삭제 후 :wq 를 하여 저장후 나오면 된다.

 


 

2. 주기 설정

*      *      *      *      *
분(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

각 * 위치에 자신이 원하는 주기를 설정 할 수 있다.

 

순서대로 분 시간 일 월 요일 순이며 괄호안의 숫자만큼 지정할 수 있다.

 

요일에서 0, 7은 일요일이며 1~6은 월요일~토요일에 해당한다.

 


 

3. 주기별 예시

3-1 매분 실행

# 매분 start.sh 실행
* * * * * /home/batch/start.sh

3-2 특정 요일, 시간에 실행

#매주 월요일 오전 6시 30분에 start.sh 실행
30 6 * * 1 /home/batch/start.sh

3-3 반복 실행

# 매일 매시간 0분, 10분, 20분, 30분...50분에 start.sh 실행
0,10,20,30,40,50 * * * * /home/batch/start.sh

3-4 범위 실행

# 매일 1시 0분부터 10분까지 매분 start.sh 실행
0-10 1 * * * /home/batch/start.sh

3-5 간격 실행

# 매 10분마다 start.sh 실행
*/10 * * * * /home/batch/start.sh

 

이상 crontab 사용법에 대해서 알아보았다.

 

추가로 crontab 설정을 테스트 하는 사이트가 있다.

 

https://crontab.guru/

 

Crontab.guru - The cron schedule expression editor

 

crontab.guru

위 사이트에 접속하면 

 

이렇게 내가 설정한 시간이 어떻게 작동하는지 알려준다. 유용하니 참고하도록 하자.

반응형

댓글