includestdio

[Linux] crontab 사용법 본문

컴퓨터

[Linux] crontab 사용법

글쓴이 includestdio 2017. 9. 2. 00:20

crontab은 주기적으로 특정 작업을 실행해야하는 경우에 유용하게 쓰입니다.

 

윈도 운영체제에서의 스케줄러와 같은 역할을 합니다.

 


 

1. crontab 은 어떤 경우에 사용하나요?

 

원하는 시간에 특정 작업을 실행하려고 할 때 사용됩니다.

 

ex)

매일 자정에 오래된 로그 파일을 삭제해야할 때

1시간 간격으로 서버의 디스크 사용량을 운영자에게 메일로 보내야할 때

매주 월요일에 특정 디렉토리를 백업하고 싶을 때

 

 

 

2. crontab 설정 방법

 

주기적으로 작업을 수행하기 위한 설정 파일을 crontab이라고 합니다.

crontab 파일의 위치는 OS별로 차이가 있기 때문에 파일을 직접 수정하지 않고 crontab 명령어를 이용해서 추가/변경/삭제를 합니다.

 

 

crontab 편집

crontab -e

 

crontab 명령어 입력을 위한 텍스트 에디터가 실행됩니다. 에디터를 통해 편집 후 저장을 하면 바로 적용이 됩니다.

 

 

crontab 목록 조회

crontab -l

 

현재 등록된 crontab 목록이 콘솔에 출력됩니다. 

 

 

 

crontab 삭제

crontab -r

 

"crontab -e"을 통해 편집해도 되지만, 현재 사용자의 모든 crontab을 삭제하고 싶다면 위의 명령어를 사용하면 됩니다.

 

 

crontab 주기 설정

* * * * *

 

"crontab -e"를 통해 텍스트 에디터가 실행되었다면, 위와 같이 * 표시가 있는 곳에 실행이 되길 원하는 시각을 적으면 됩니다.

왼쪽에서부터 분(0-59), 시(0-23), 일(1-31), 월(1-12), 요일(0-7) 순서대로 입력합니다.

 

요일의 경우 0과 7은 일요일, 1은 월요일, 6은 토요일입니다.

 

 

 

3. crontab 예제

 

쉘에서 "crontab -e"를 통해 편집기가 열려있는 상태인 것으로 가정합니다.

crontab을 설정할 때 한 줄에 하나의 명령만 쓸 수 있습니다. (줄바꿈 문자가 들어가면 안됩니다.)

 

 

매 1분마다 실행

* * * * * /root/script/test.sh

 

 

매 30분마다 실행

*/30 * * * * /root/script/test.sh

 

 

매일 새벽 2시에 실행

0 2 * * * /root/script/test.sh

 

 

매주 월요일~금요일 오전 6시에 실행

0 6 * * 1-5 /root/script/test.sh

 

 

매 30분마다 작업 결과를 파일에 로깅

*/30 * * * * /root/script/test.sh >> log.txt
0 Comments
댓글쓰기 폼