본문 바로가기
IT/리눅스 (Linux)

[리눅스] 크론탭(Crontab) 명령어 사용법

by 베베야 2021. 2. 2.
728x90

 

오늘은 윈도우의 예약 작업을 담당하는 작업 스케줄러와 동일한 기능을 하는

리눅스의 크론탭 사용법에 대해서 알아보겠습니다.

 

 

목차

1. 리눅스 크론탭 기본 명령어

2. 리눅스 크론탭 주기 설정

3. 리눅스 크론탭 주기 예제

4. 리눅스 크론탭 로깅 설정


1. 리눅스 크론탭 기본 명령어

#crontab -e

크론탭 편집 모드 접속을 하는 명령어입니다.

명령어 입력 후:wq를 입력해서 저장하고 빠져나옵니다.

 

#crontab -l

크론탭에 저장되어 있는 문자를 화면에 출력해 줍니다.

cat과 동일한 효과입니다.

 

#crontab -r

리눅스 크론탭에 등록되어 있는 명령어를 삭제합니다.

 

2. 리눅스 크론탭 주기 설정

기본적으로 * * * * * 5개의 설정값이 보입니다.

분(0-59), 시(0-23), 일(1-31), 월(1-12), 요일(0-7) 순서입니다.

요일 중 0과 7은 일요일로 표시됩니다.

 

 

3. 리눅스 크론탭 주기 예제

크론탭 안에서 #을 쓰고 뒤에 문자를 쓰면 주석 처리가 됩니다.

 

1) 매분 마다 test001.sh 실행

* * * * * /home/test/test001.sh

 

2) 특정 시간마다 실행

#매주 일요일 오전 3시 30분에 test001.sh 실행

30 3 * * 7 /home/test/test001.sh

 

3) 반복 실행

# 매 5분마다 test001.sh 실행

*/5 * * * * /home/test/test001.sh

 

4) 분할 반복 실행

#매일 매시간 10분, 20분, 30분에 test001.sh 실행

10,20,30 * * * * /home/test/test001.sh

 

5) 특정 범위 반복 실행

# 매일 2시 20분부터 40분까지 매분tesh001.sh를 실행

20-40 2 * * * /home/test/test001.sh

 

6) 혼합 실행

# 2일에서 6일까지10시, 13시, 23시에 매 5분마다test001.sh를 실행

*/5 10,13,23 2-6 * * /home/test/test001.sh

 

 

4. 리눅스 크론탭 로깅 설정

1) 오늘의 로그 저장(당일만)

크론탭 사용 후 해당 처리 내역에 대해 로그를 남기자고 할 경우 사용하는 명령어입니다.

* * * * * /home/test/test001.sh > /home/test/test001.sh.log 2>&1

 

2) 매일매일 로그 저장

지속적으로 로깅이 되어야 해서 로그를 계속 남겨둬야 한다면 다음처럼 입력합니다.

사용 중 로그가 과도하게 쌓이면 리눅스 성능에 영향을 줄 수 있으니 비워주거나 새로운 파일을 만들어 줍시다.

* * * * * /home/test/test001.sh >> /home/test/test001.sh.log 2>&1

 

표준 출력과 표준 에러를 같이 출력하기 위해서는 위와 같이 사용하면 되고

만약 표준 출력 내용만 출력하고자 한다면 2>&1 을 제거하시면 됩니다.

 

3) 로그 로깅 X

로그가 필요 없는 크론탭 작업에는 아래와 같이 입력합니다.

* * * * * /home/test/test001.sh > /dev/null 2>&1

 

/dev/null은 비트 버킷이라고 불리는 특수한 파일입니다.

이 비트 버킷으로 출력 방향을 지정하면 입력만 받고 아무런 메시지도 출력하거나 저장하지 않습니다.

 

 

리눅스 크론탭(Crontab) 명령어 사용법에 대해서 알아보았습니다.

 

반응형
그리드형

댓글