crontab 사용법

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에 대해서 알아보았습니다.


여러분, 여러분들이 날 그냥 빤히 바라만 보고 있을 거라면 난 자러 가겠습니다!