[LINUX] cron 시스템
특정작업을 주기적이고 반복적으로 수행할때 사용하는 데몬이다.
vi /etc/crontab 이 설정파일이며 이파일에서 직접수정할땐 root계정만 가능하며
사용자별 cron설정은 crontab -e 명령어로 설정할수있다
crontab -e 크론설정편집
crontab -l 설정된 명령 목록
crontab -r 크론삭제
개별 사용자가 자신의 cron설정을 개별적으로 할 수 있음
개별 사용자의 cron설정파일은 /var/spool/cron 디렉토리내에 자신의 ID와 동일한 파일로 생성됨
설정하기
vi /etc/crontab 초기파일을 오픈해보면
01 * * * * root run-parts /etc/cron.hourly 이렇게 되있다 각필드별 설명은 순서대로
분 - 분(minute), 범위는 0-59
시간 - 시간(hour), 범위는 0-23
일별 - 일(day of month), 범위는 1-31
월별 - 월(month), 범위는 1-12 또는 Jan,Feb...
요일별 - 요일(day of week), 범위는 0-7(0,7 = 일요일 | 나머지 1부터 월요일순으로), 또는 Sun,Mon..
실행권한 - 어떤사용자로 실행할것인지
실행내용 - 어떤작업을할것인지
예를들어보면
10 15 * * * root /home/abc/abc.sh
10분 15시 매일 매월 모든요일 즉 매월 매일 15시10분에 root권한으로 /home/abc/abc.sh 파일을 실행
10 15 3 * * root /home/abc/abc.sh
10분 15시 3일 매월 모든요일 즉 매월 3일 15시10분에 root권한으로 /home/abc/abc.sh 파일을 실행
10 15 3,5 * * root /home/abc/abc.sh
, 콤마는 지정한겂모두
10분 15시 3일과5일 매월 모든요일 즉 매월 3일과5일 15시10분에 root권한으로 /home/abc/abc.sh 파일을 실행
10 15 3-5 * * root /home/abc/abc.sh
- 는 사이의 모든값
10분 15시 3일~5일 매월 모든요일 즉 매월 3일~5일 15시10분에 root권한으로 /home/abc/abc.sh 파일을 실행
10 15 */3 * * root /home/abc/abc.sh
/는 반복할때
10분 15시 *일의범위에서3일마다 매월 모든요일 즉 매월 3일마다 15시10분에 root권한으로 /home/abc/abc.sh 파일을 실행
cron 사용허가(불허가) 설정파일
- /etc/cron.allow 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정가능함.
- /etc/cron.deny 파일 : 이 파일에 등록된 사용자는 crontab으로 cron설정 불가능함
- 설치초기 값으로는 이 두 파일은 존재하지 않음. 따라서 필요시 생성해야 함.
- 설정방법은 한 행에 하나의 ID씩 기재하면 됨.
- 두 파일이 모두 존재하지 않으면 root만 가능.
- 만약 /etc/cron.allow파일을 만들었다면 root라도 이 파일에 root를 등록해야 사용 가능함.
크론설정을 끝마치고 /etc/init.d/crond restart
ps : 시간날때 정독해보세요.. 도움이 될껍니다..
|