Web-Programming/Linux

[ 리눅스 / crontab / 사용법 / 설명서 / 설정 ]

yehza 2011. 6. 14.



[ 리눅스 / crontab / 사용법 / 설명서 / 설정 ]



 crontab
 
: crontab은 시스템의 주기적인 cron작업의 설정, 수정등을 하는 명령어
: 시스템에 가장 중요한 데몬중의 하나인 crond와 직접적인 관련이 있는 명령어
: 수퍼유져(root) 또는 일반 사용자들의 주기적이고 반복적인 특정 작업의 자동화를 설정하는 명령어
 
crontab으로 설정한 작업이 주기적으로 실행되려먼 crond 데몬이 실행상태에 있어야 한다.
/etc/rc.d/init.d/crond 에 의해 시작, 종료, 재시작 될 수 있다.
 
 
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 명령을 주로 사용한다.
 
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분마다라고 해석하면 된다.
 
시스템 crond 실행 확인
 


 
 
cron 설정파일 /etc/crontab
: 리눅스를 설치하면 기본적으로 설정되어 있는 내용
: 시스템에 기본적으로 필요한 사항들을 주기적으로 자동 실행하기 위한 설정사항
 


 

01  *  *  *  * root run-parts /etc/cron.hourly
:매일 매시 01분 마다 /etc/crond.hourly 디렉토리내에 존재하는 파일들을 실행하게 된다.
 
02 4  *  *  * root run-parts /etc/cron.daily
:매일 새벽 4시 02분마다 /etc/crond.daily 디렉토리내에 존재하는 파일들을 실행하게 된다.


매주 한번씩 실행시키고자 하는 내용이 딨다면 디렉토리에 스크립트파일로 만들어서 넣어두면 된다.
 
22 4  *  *  0 root run-parts /etc/cron.weekly
:매주 일요일 새벽 4시 22분마다 /etc/crond.weekly 디렉토리내에 존재하는 파일들을 실행하게 된다.
매주 한번씩 실행될 내용이 저장된 디렉토리
 
42 4  1  *  * root run-parts /etc/cron.monthly
:매월 1일 새벽 4시 42분마다 /etc/crond.monthly 디렉토리내에 존재하는 파일들을 실행하게 된다.
매월 한번씩 식행될 내용이 저장된 디렉토리
 
 
crontab 를 사용허가 또는 제한하는 두개의 file
/etc/cron.allow
/etc/cron.deny
 
: /etc/ 디렉토리에는 cron.allow 와 cron.deny 파일이 존재할 수 있다.
: 리눅스 초기 설정에는 두 파일이 존재하지 않는다. (root만이 crontab명령어를 사용할 수 있다.)
: 일반 사용자에게 crontab을 이용할 수 있도록 하기 위해서는 /etc/cron.allow파일에 사용자 ID를 등록
: 반대로 제한하고자 한다면 /etc/cron.deny파일에 사용자 ID를 등록
: /etc/cron.allow 파일이 존재한다면 root라도 파일에 root를 등록해야만 한다.
 
crontab 사용하기
 
/var/spool/cron 디렉토리에는 root 또는 개별 사용자들의 cron 설정이 계정명과 동일한 파일명으로 보관
각 계정 사용자들이 "crontab -l" 명령을 통해서 확인한다.
 


 
"crontab -e" 명령을 통해 작업을 편집할 수 있다. 
 
 ** 시스템관리자인 root는 시스템의 모든 cron설정을 수정, 변경, 삭제, 확인 할 수 있다.
 

출처 : [로그인 네이버 카페] http://cafe.naver.com/linuxjjangclub/4070


 
 


 


댓글

추천 글