Linux, CentOS 작업 스케쥴러 - Crontab
Crontab?
Cron
은 리눅스 에서 특정한 명령
이나 스크립트
를 지정한 날짜/시간
에 자동으로 실행해 주는 스케쥴러
입니다.
주기적으로 시스템 백업 스크립트를 실행하는 등 시스템 관리자에 의해 많이 사용되며, 이외 반복적인 작업을 하기위해 사용될 수 있습니다.
Crontab 활용 용도
- 30분 단위로 이메일을 전송 할 때
- 매주 일요일 새벽 4시에 서버를 재 시작 할 때
위와 같이 반복적인 예약 작업이 필요할 때 다양하게 활용할 수 있는 도구 입니다.
Install crontab - CentOS
yum
을 통해 Crontab
을 설치합니다.
1 | $ yum -y install cronie |
Crontab
설치가 완료 되었다면, Crontab
서비스가 잘 작동 하고 있는지 확인합니다.
1 | $ systemctl start crond |
How to use crontab?
Crontab 리스트 조회
1 | $ crontab -l |
crontab
에 등록된 스케쥴러 작업 리스트를 확인합니다.
Crontab 편집
1 | $ crontab -e |
crontab
예약 작업 리스트를 편집 할 수 있는 에디터가 실행 되며, 편집합니다.
Crontab 리스트 삭제
1 | $ crontab -r |
crontab
에 등록된 모든 스케쥴러 작업 리스트를 삭제합니다.
Crontab 작성 방법
1 | * * * * * 수행할 명령어 |
crontab -e
명령어를 사용해 위와 같은 형식으로 스케쥴러를 등록합니다.
Example crontab
간단한 텍스트를 파일에 쓰는 것을 해보겠습니다.
1 | $ crontab -e |
crontab
편집기를 열고 작업을 등록합니다.
1 | * * * * * echo "Hello 두번 개발하는 블로그" >> ~/test.txt |
ESC + qw
저장하고 밖으로 빠져 나옵니다.
1분이 지나게 되면 root 경로에 test.txt 파일이 생긴 것을 볼 수 있으며, 파일 내부에는 Hello 두번 개발하는 블로그
라는 텍스트가 작성 되어 있는 것을 볼 수 있습니다.

다른 예제
특정 시간에 실행 1
매주 일요일 새벽 4시 20분에 test! 텍스트를 root 경로 밑 test.txt 파일에 작성
1 | 20 4 * * 0 echo "test!" >> ~/test.txt |
특정 시간에 실행 2
매주 화요일 오후 1시 30분, 40분, 50분에 test! 텍스트를 root 경로 밑 test.txt 파일에 작성
1 | 10,20,30 13 * * 2 echo "test!" >> ~/test.txt |
Crontab 작성 기호 종류
1 | * # 범위 내 모두 실행 |