본문으로 바로가기

리눅스 스케줄러 (crontab) 사용하기

category DevOps/Unix, Linux 2018. 9. 17. 21:21
반응형

크론탭이란 특정 작업을 특정 시기마다 수행하고 싶을때 이용할 수 있는 리눅스 스케줄 기능입니다.
크론탭의 기본 사용방법은 다음과 같습니다.

기본 사용법
# 크론탭 조회 # 현재 머신에 등록된 스케줄 목록이 조회됩니다. crontab -l # 크론탭 등록 / 수정 # vi편집기 형태로 크론탭 스케줄을 편집(edit)할 수 있습니다. crontab -e # 크론탭 삭제 crontab -d
스케줄 작성법

크론탭 표현식의 기본적인 형식은 다음과 같습니다.

[(0-59)] [(0-23)] [(1-31)] [(1-12)] [요일(0-7)] [실행할 명령어]

[실행할 명령어]를 언제 실행할 지 앞의 5자리를 통해 결정하는 형태입니다.

# 금요일 오전 130분에 runbatch.sh을 실행 30 1 * * 5 /app/script/runbatch.sh # 매 0, 20, 40분 마다 runbatch.sh를 실행 0,20,40 * * * * /app/script/runbatch.sh # 매 분 마다 실행 * * * * * /app/script/runbatch.sh # 보통 매 분마다 실행은 가독성을 위해 */1로 명시적으로 작성합니다. */1 * * * * /app/script/runbatch.sh # 매 3분 마다 실행 */3 * * * * /app/script/runbatch.sh

크론탭은 반드시 한 줄에 하나의 스케줄이 작성되야합니다. 즉 명령어 또한 한 줄이어야 하고 보통은 쉘 스크립트를 작성한 후 그 스크립트를 등록하는 방식을 이용합니다.

스케줄 로깅

출력 리다이렉션을 통해 스케줄 실행 결과를 로그로 남길 수 있습니다.

# runbatch.sh 수행로그를 runbatch.log 파일로 남김 (표준 출력만 해당) * * * * * /app/script/runbatch.sh > /app/logs/runbatch.log # runbatch.sh 수행로그를 runbatch.log 파일로 남김 (표준 에러 출력을 표준 출력으로 리다이렉트) * * * * * /app/script/runbatch.sh > /app/logs/runbatch.log 2>&1

리눅스에서 1은 표준출력, 2는 표준에러출력을 의미하고 > 를 통해 출력을 내보낼 수 있습니다. >> 를 하면 append하게됩니다.
"2>&1" 의 의미는 "2(표준에러출력)을 1(표준출력)으로 내보낸다" 라는 의미를 갖습니다.

반응형

'DevOps > Unix, Linux' 카테고리의 다른 글

리눅스 vi 편집기 사용 기초  (0) 2018.09.19
리눅스 SFTP 명령어 사용법  (0) 2018.09.18
리눅스 tar, gz 압축  (0) 2018.09.17
리눅스 스케줄러 (crontab) 사용하기  (0) 2018.09.17
리눅스 MySQL 설치  (0) 2018.09.17
리눅스 Git 설치 및 Clone 하기  (0) 2018.09.17

댓글을 달아 주세요