티스토리 뷰

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

crontab 사용법 (리눅스 스케쥴)


Crontab 사용법 설명


crontab 사용법 (리눅스 스케쥴)



crontab 사용법 (리눅스 스케쥴)


crontab 옵션

crontab [ -u user ] file 

crontab [ -u user ] { -l | -r | -e } 

-u user : user 사용자에 대해서 crontab 작업을 수행한다. 생략하면 crontab 명령을 실행하는 사용자에 대해서 crtontab 작업을 수행.

-l : 현재 cron table을 보여 줌

-r : 현재 cron table을 삭제

-e : 현재 cron table을 편집


일반적으로  crontab -e 명령을 주로 사용한다.



crontab 사용 권한 : /etc/cron.allow, /etc/cron.deny 

특정 사용자에게만 cron의 사용을 허가할 경우

/etc/cron.allow 파일에 허가할 사용자만 추가해준다 

/etc/cron.deny 파일에 허가하지 않을 사용자를 추가한다

/etc/cron.allow를 먼저 참조한다. 

/etc/cron.allow에 명시된 사용자는 cron job을 실행할 수 있다.

/etc/cron.allow에 없는 사용자는, /etc/cron.deny에도 없다면, cron job을 실행할 수 있다.

/etc/cron.allow, /etc/cron.deny 두 파일이 존재하지 않으면 슈퍼 유저만 cron job을 수행할 수 있다.

/etc/cron.deny 파일이 존재하고 아무 내용 없이 비어 있다면, 모든 사용자가 cron job을 수행할 수 있다.



cron table의 각 필드

+-------------------------------------------------------------------+

| 분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령 |

+-------------------------------------------------------------------+

minute(0~59) hour(0-23) day(1-31) month(1-12) weekday(1-7) command 


<분>은 0-59  <시>는 0-23  <날짜>는 0-31  <달>은 0-12(0또는 12는 12월, 1은 1월...) <요일>은 0-7(0과 7은 일요일, 1은 월요일...)


''*''  :  everytime

''-''  :  범위 지정, 예를 들어 시간 필드에 1-3이면 1시와 3시 사이

'',''  :  separator, 예를 들어 시간 필드에 1,3이면 1시와 3시

/   :  시간필드 에서 23-7/2라면 23시부터 07시까지 매 2시간마다라는 의미

      분필드에서 */2라면 매 2분마다라고 해석하면 된다.



사용 예

30  05 *  *  1    ~/bin/backup.sh

              ==> 매주 월요일  오전 05시 30분에 ~/bin/backup.sh을 실행

30  2  1  *  *    ~/bin/backup.sh

              ==> 매월 1일 새벽 2시 30분에 ~/bin/backup.sh를 실행

20  1  *  *  *    find /tmp -atime +3 -exec rm -f () '';''

              ==> 매일 새벽 01시 20분에 3일간 접근하지 않은 /tmp내의 파일을 삭제


댓글