crontab 사용법
crontab이란 ?
crontab이란 윈도우즈에서 스케줄러에 해당하는 기능입니다. 정해진 시간에 정해진 기간동안 반복하는 작업을 하는 작업을 합니다.
crontab을 이용하면 배치작업등을 손쉽게 할수 있습니다.
crontab 기본 명령어
crontab 기본기능
1. crontab 편집
$ crontab -e
2. crontab 내용 출력
$ crontab -l
3. crontab 내용 삭제
$ crontab -r
아직 내용이 없어서 내용이 출력되지 않습니다.
실행주기
crontab은 실행하기 위해서 아래와 같은 방법을 통해서 등록합니다.
* * * * * /home/python/test.sh
위와 같은 방법으로 crontab에 작업을 등록합니다. 위의 * * * * * 는 실행시간을 나타냅니다.
* * * * *
분(0~59) 시간(0~23) 일(1~31) 월(1~12) 요일(0~7)
[이미지출처] http://www.adminschoice.com/crontab-quick-reference
위와같은 방법으로 주기를 설정할수 있습니다.
1. 매분 실행
* * * * * /home/script/test.sh
2. 매일 3시에 실행
* 3 * * * /home/script/test.sh
3.매시 정각, 30분에 실행
0, 30 * * * * /home/script/test.sh
위와 같은 방법을 통해서 작업할 내용과 시간을 어떻게 작성하는지 알아보았습니다.
crontab 실행확인
작성된 crontab이 정상적으로 실행하는지 확인하는 방법입니다.
$ ps -ef | grep crond
위와 같이 실행중인 프로세스를 찾을수 있습니다.
crontab 사용시 주의사항
crontab은 한줄에 하나의 명령만을 사용해야 합니다.
*****
/home/script/test.sh
위와 같이 사용하면 두줄로 되어있어서 안됩니다.
반드시 아래와 같이 한줄로 사용해야 합니다.
***** /home/script/test.sh
crontab 주석
crontab을 사용하다보면 어떤 작업 인지 주석을 붙여야하는 경우가 발생합니다. 그런 경우 #을 붙여 주석을 입력하도록 합니다.
$ crotab -e
입력하고 들어가면 위와같이 주석으로 되어있는것을 확인할수 있습니다.
crontab 백업
crontab 을 사용하면서 잘못해서 crontab -r을 입력하여 모든 작업을 삭제한다면 다시 복구하기가 어령울 것입니다.
이런경우를 대비해서 crontab을 백업해 보도록 하겠습니다.
$ crontab -l > /home/tester/backup/backup.txt
비록 내용이 없기는 하지만 위와같은 방법을 통해서 백업파일이 생성된것을 확인할수 있습니다.
쉘을 이용해서 bakup파일의 이름을 달리만들면 날짜별로 백업된 내용을 확인할수도 있을 것입니다.
위의 방법을 통해서 백업하는 방법을 알았으므로
30 0 * * * crontab -l > /home/tester/backup/backup.txt
위와 같은 방법으로 crontab내용을 백업할수 있습니다.
crontab은 배치작업에 대단히 유용하면 시스템 관리자가 되면 많은 작업을 할것이므로 기본적인 내용에 대해서 알아두면 유용하게 사용할 것입니다.
오늘은 crontab에 대해서 알아보았습니다.