쉘[유닉스] CRON

황제낙엽 2005.07.03 17:07 조회 수 : 573 추천:105

sitelink1  
sitelink2  
sitelink3  
extra_vars6  
## cron 데몬은? ##
cron 데몬은 리눅스에서 같은 작업을 주기적, 반복적으로 실행하기 위한 데몬이다.
따라서, 정기적인 백업, 정기적인 메일 발송 등에 응용할 수 있다.


부팅시 실행하기
# chkconfig --list crond
위의 명령어를 실행하여 3번(X로 부팅하는 사람은 5번)에서 on 으로 되어있으면 된다.
만약 off 로 되어있으면 아래 명령을 실행하여 3번과 5번 모드를 on으로 설정한다.
# chkconfig --level 35 crond on

사용법
1) # crontab -l
현재 cron 데몬에 올려져 있는 내용을 보는 명령어이다.
"no crontab for root" 라고 나타나면 아무런 작업 설정이 없다는 뜻이다.

2) # crontab -e
이 명령어를 실행하면 vi 편집기가 뜬다. 여기에 작업을 입력하면 된다.

입력한 내용은 /var/spool/cron/ 디렉토리에 사용자계정명의 파일로 저장된다.
# crontab -e 명령 외에도 이 파일을 직접 수정해도 된다.

3) # crontab -r
crontab 의 작업 명령을 취소하거나 제거할 경우 사용한다.


작업 입력 [ 분 시 날짜 달 요일 작업내용 ]의 순서로 이루어져 있다.
예) 30 16 * * * reboot
- 매일 16:30분에 리부팅을 실행한다.
예) 25 8 1 * * cat /home/hello.txt | formail -s sendmail abcd@unitel.co.kr
- 매월 1일 08:25분에 /home/hello.txt 내용을 abcd@unitel.co.kr로 메일로 보냄
예) 0 1 * * 0 reboot
- 매주 일요일 새벽 1시에 리부팅을 실행한다.
*요일표시 ;
- 0과 7은 일요일, 1은 월요일, 2는 화요일..의 순으로 작성한다.
- 표시방법 : 2,6 (화요일과 토요일) , 1-4 (월요일부터 목요일까지)
*달 표시 ;
- 1-12/3 (1월부터 12월까지 3개월마다)


정기적인 작업을 입력시
# /etc/crontab 정기적인 작업을 파일에 직접 기록해도 상관없다.
/etc/cron.hourly : 매시간 정기적 작업
/etc/cron.daily : 매일 정기적 작업
/etc/cron.weekly : 매주 정기적 작업
/etc/cron.monthly : 매월 정기적 작업


사용자 제한
사용 가능한 계정 입력 : /etc/cron.allow 에 사용가능한 계정을 등록시킨다.
# cat /etc/cron.allow
예)master
jhlee