1. cron 명령은 지정된 날짜와 시간에 일정 작업을 주기적으로 수행하기 위해 사용되며 각 사용자별 로 /var/spool/cron/crontabs 디렉토리에 사용자 ID와 같은 이름의 crontab 화일을 만들어 cron job을 지정할 수 있다.
cron 명령은 시스템이 부팅되면서 /etc/rc2.d/S75cron 스크립트에 의해서 daemon 형태로 수행된다.
2. 각 사용자 별로 crontab 화일을 만드는 방법은 아래와 같이 "crontab -e" 명령을 실행하면 된다.
% crontab -e
위와 같이 명령을 실행하면 "vi" editor mode로 들어가 crontab 화일을 수정할수 있게 되는데, 만약 "vi" mode로 들어가지 않으면 "EDITOR" 환경변수를 vi로 변경 후 crontab 명령을 다시 수행한다.
2.1 csh을 사용하는 경우
% setenv EDITOR vi
% crontab -e
2.2 sh이나 ksh을 사용하는 경우
$ EDITOR=vi
$ export EDITOR
$ crontab -e
3. crontab 화일의 내용을 정의 하는 format은 아래와 같다.
분 시 일 월 요일 실행할 명령
분 : 0-59
시 : 0-23
일 : 1-31
월 : 1-12
요일 : 0-6( 0: 일요일)
예) 매주 일요일 오전 3:15에 /var 디렉토리에 있는 core 화일을 지우는 작업
15 3 * * 0 find /var -name core 2>/dev/null | xargs rm -f
매월 1일 오후 6시에 시스템 down message 보내기
0 18 1 * * wall "System Will be down"
4. /etc/cron.d/cron.allow 화일이나 /etc/cron.d/cron.deny 화일을 이용하여 시스템 관리자는 각 사용자별로 crontab 화일에 대한 access 권한을 제한 할 수 있다.
4.1 crontab을 access 할 수 있는 사용자
- /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 안에 지정된 사용자
- /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일안에 지정되지 않은 사용자
4.2 crontab을 access 할 수 없는 사용자
- /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 않에 지정되지 않은 사용자
- /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일에 지정된 사용자
- /etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일이 모두 없는 경우,
root를 제외한 모든 사용자
4.3 OS가 설치되면 기본적으로 /etc/cron.d/cron.deny이 생성되고 그 안에 아래의 사용자들이 지정된다.
daemon
bin
smtp
nuucp
listen
nobody
noaccess
/etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일에 사용자를 지정할 때는 위와 같이 한줄에 한명씩 사용자를 지정한다.
5. cron에 관련된 환경은 /etc/default/cron 화일에 정의 할 수 있다.
% cat /etc/default/cron
CRONLOG=YES
PATH=/usr/bin:/usr/ucb:
cron 명령은 시스템이 부팅되면서 /etc/rc2.d/S75cron 스크립트에 의해서 daemon 형태로 수행된다.
2. 각 사용자 별로 crontab 화일을 만드는 방법은 아래와 같이 "crontab -e" 명령을 실행하면 된다.
% crontab -e
위와 같이 명령을 실행하면 "vi" editor mode로 들어가 crontab 화일을 수정할수 있게 되는데, 만약 "vi" mode로 들어가지 않으면 "EDITOR" 환경변수를 vi로 변경 후 crontab 명령을 다시 수행한다.
2.1 csh을 사용하는 경우
% setenv EDITOR vi
% crontab -e
2.2 sh이나 ksh을 사용하는 경우
$ EDITOR=vi
$ export EDITOR
$ crontab -e
3. crontab 화일의 내용을 정의 하는 format은 아래와 같다.
분 시 일 월 요일 실행할 명령
분 : 0-59
시 : 0-23
일 : 1-31
월 : 1-12
요일 : 0-6( 0: 일요일)
예) 매주 일요일 오전 3:15에 /var 디렉토리에 있는 core 화일을 지우는 작업
15 3 * * 0 find /var -name core 2>/dev/null | xargs rm -f
매월 1일 오후 6시에 시스템 down message 보내기
0 18 1 * * wall "System Will be down"
4. /etc/cron.d/cron.allow 화일이나 /etc/cron.d/cron.deny 화일을 이용하여 시스템 관리자는 각 사용자별로 crontab 화일에 대한 access 권한을 제한 할 수 있다.
4.1 crontab을 access 할 수 있는 사용자
- /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 안에 지정된 사용자
- /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일안에 지정되지 않은 사용자
4.2 crontab을 access 할 수 없는 사용자
- /etc/cron.d/cron.allow 화일이 존재하는 경우, 그 화일 않에 지정되지 않은 사용자
- /etc/cron.d/cron.allow 화일이 없는 경우, /etc/cron.d/cron.deny 화일에 지정된 사용자
- /etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일이 모두 없는 경우,
root를 제외한 모든 사용자
4.3 OS가 설치되면 기본적으로 /etc/cron.d/cron.deny이 생성되고 그 안에 아래의 사용자들이 지정된다.
daemon
bin
smtp
nuucp
listen
nobody
noaccess
/etc/cron.d/cron.allow와 /etc/cron.d/cron.deny 화일에 사용자를 지정할 때는 위와 같이 한줄에 한명씩 사용자를 지정한다.
5. cron에 관련된 환경은 /etc/default/cron 화일에 정의 할 수 있다.
% cat /etc/default/cron
CRONLOG=YES
PATH=/usr/bin:/usr/ucb: