레이블이 linux / unix인 게시물을 표시합니다. 모든 게시물 표시
레이블이 linux / unix인 게시물을 표시합니다. 모든 게시물 표시

2013년 2월 4일 월요일

crontab 사용법

*** 2008/10/13 19:51 작성한 내용 ***


명령어 위치 : /usr/bin/crontab
사용형식 : crontab [ -u 사용자id ] 파일
crontab [ -u 사용자id ] { -l | -r | -e }

$ crontab -l : 현재 등록된 내용을 보고자 할때
$ crontab -e : 설정 파일을 새롭게 편집하고자 할때 (vi편집기로 들어가지던뎅..)
$ crontab -r : 등록된 내용을 삭제하고자 할때


$ cat /etc/crontab

01 * * * * root run-parts /etc/cron.hourly (매시 1회 자동실행하기 위한 시스템 크론 설정)
02 4 * * * root run-parts /etc/cron.daily (매일 1회 자동실행하기 위한 시스템 크론설정)
22 4 * * 0 root run-parts /etc/cron.weekly (매주 1회 자동실행하기 위한 시스템 크론설정)
42 4 1 * * root run-parts /etc/cron.monthly (매월 1회 자동실행하기 위한 시스템 크론설정)

#매일 매시 01분마다 /etc/cron.hourly 디렉토리내에 존재하는 파일들을 실행
#매일 새벽 4시 02분마다 /etc/cron.daily 디렉토리내에 존재하는 파일들을 실행
#매주 일요일 새벽 4시 22분마다 /etc/cron.weekly 디렉토리내에 존재하는 파일들을 실행
#매월 1일 새벽 4시 42분마다 /etc/cron.monthly 디렉토리내에 존재하는 파일들을 실행

root 이외의 사용자에게 crontab 명령어를 이용할 수 있게 할려면 /etc/cron.allow 파일에 사용자의 계정을 등록한다
일반사용자의 crontab 명령어사용을 제한하고자 한다면 /etc/cron.deny 파일에 사용자의 계정을 등록한다


cron 설정하는 방법

$ crontab -e
를 실행해서 편집 후 저장하고 나온다

10 0 * * * /software/app/pims/auto/shell/activeManager.sh
(매일 00시 10분에 activeManager.sh를 실행하라는 의미)

첫번째 10은 10분을 의미함 (분을 의미 : 0~59)
두번째 0은 00시를 의미함 (시를 의미 : 0~23)
세번째 * 은 매일을 의미함 (일을 의미 : 1~31)
네번째 * 은 매월을 의미함 (월을 의미 : 1~12)
다섯번째 * 은 매주를 의미함(요일을 의미 : 1(월)~7(일))
마지막 /software/app/pims/auto/shell/activeManager.sh 는 activeManager.sh을 실행하라는 의미

50 23 * * * root /software/app/pims/auto/shell/autoSmsLog.sh
(매일 23시 50분에 root계정으로 autoSmsLog.sh를 실행하라는 의미)

* 문자 : 각 필드에 해당하는 모든 숫자를 의미
- 문자 : 각 필드자리에 하이픈 문자가 올수 있음
, 문자 : 각 필드자리에 콤마문자가 올수 있음

ex) 일 필드자리에 11-15 (11,12,13,14,15일을 의미)
ex) 일 필드자리에 1,11,21 (1일,11일 21일을 의미)


crontab -r은 사용하지말자.............ㅋㅎ
사용하는 순간 등록된 내용이 모두 지워지더구만............흠냐............
필요없는 실행명령어가 있다면 그냥 편집모드로 들어가서 주석처리를 하던지 필요없는 줄만 삭제를 하도록...
복구 방법이 있다던데 그냥 패스...........~~~~