crontab
현재 crontab file을 보기위해서는 crontab -l 을 사용한다.
* cron daemon은 시스템 booting시에 자동으로 시작된다.
* cron daemon은 /var/spool/cron/crontabs 디렉토리에 있는 crontab화일을 읽는다.
* 이 명령어는 정해진 시간에 정규적으로 실행된다.(시간은 군대시간이다)
root crontab file
/etc/cron.d/logchecker - /var/cron/log가 최대 화일 크기를 초과하는지를 판단하고, 만약 초 과과 하면 내용을 /var/cron/olog로 복사한다.
/usr/lib/newslog - syslog daemon에 의해서 /var/adm 디렉토리에 생성되는 log file을 청소한다.
Controlling crontab Access
cron utility를 제어하는 두개의 file
/etc/cron.d/cron.allow
/etc/cron.d/cron.deny
User Access
* 만약 cron.allow file이 존재하면, 그 file에 적혀있는 user만이 crontab 명령어를 사용할수 있다.
* 만약 이 file이 없으면 crontab은 cron.deny file을 체크해서 user가 crontab 실행을 금지할 지를 결정한다.
* 만약 둘다 없으면 crontab은 root만 실행시킬 수 있다.
* daemon, bin, smtp, nuucp, listen, nobody, noaccess file은 crontab 사용할 수 없다.
* cron.allow file은 user가 만들어 주어야한다.
The crontab Command
crontab 명령어는 crontab file을 수정, 삭제, 편집할 수있다.
crontab 명령어는 user에대한 입력을 /var/spool/cron/crontabs/username에 저장한다.
root 만이 다른 user의 crontab file을 읽고 편집할 수있다.
root의 crontab file은 /var/spool/cron/crontab/root 이다.
The crontab file format
crontab file은 각 entry마다 여섯개의 field로 구성되어있다. 각 필드는 space 나 tab으로 구분한다
5 4 * * 6 /usr/lib/newsyslog
분필드(0, 59) 시간필드(0,23) 일/월필드(1,31) 월필드(1,12) 일/주필드(0,6) 명령어라인 처음 다섯 필드는 다음 포맷을 가진다.
n n값과 일치
n,p,q n,p, or q와 일치
n-p n과 p 사이의 값과 일치
* 항상 일치
How to Edit the User's crontab file
1. 기본 Editor를 설정한다.
$ EDITER=vi
$ export EDITOR
2. crontab file을 수정한다.
$ crontab -e
20 15 * * 5 /usr/bin/banner "TIME TO GO!" > /dev/console
0 0 * * * /usr/bin/tar cvf /dev/rmt/0 /export/home/rickyd
:wq
3. 현재의 crontab file을 본다.
$ crontab -l
예)0 0-23/2 * * * /usr/local/bin/test;/usr/local/bin/test
매일 매 짝수 시간 정각에 두번 실행합니다