Computer/Linux

crontab 사용법

짱이네 2008. 8. 29. 09:15

crontab 사용법

# crontab -l       현재사용하고 있는 crontab 파일 출력
# crontab -e       crontab 파일의 수정(edit)

crontab -e 로 수정이 안될경우

1. #csh        2. #setenv EDITOR vi 명령 수행후 수정함

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만 실행시킬 수 있다.
cf) daemon, bin, smtp, nuucp, listen, nobody, noaccess file은 crontab 사용할 수 없다.
- cron.allow file은 user가 만들어 주어야한다.
- crontab 명령어는 crontab file을 수정, 삭제, 편집할 수있다.
- crontab 명령어는 user에대한 입력을 /var/ spool/cron/crontabs/username에 저장한다.
- root 만이 다른 user의 crontab file을 읽고 편집할 수있다.
- root의 crontab file은 /var/spool/cron/crontab/root 이다.


crontab file format

# cd /var/spool/cron/crontabs 에 가신후
   # more root
   10 3 * * 0,4 /etc/cron.d/logchecker
   10 3 * * 0   /usr/lib/newsyslog
   15 3 * * 0 /usr/lib/fs/nfs/nfsfind
   1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1
   ----------   ========================
   1 2 3 4 5           program

   1 : minute (0-59),
   2 : hour (0-23),
   3 : day of the month (1-31),
   4 : month of the year (1-12),
   5 : day of the week (0-6 with 0=Sunday).

   이렇게 되고 실행할 파일명을 program 부분에 적어 주면 된다.

   파일을 맞게 변경후 cron 데몬을 리스타트시키면 된다.
   아니면..리부팅

   예로
   * * 1 * * /usr/local/program      

   이렇게 한다면 한달에 한번 매월 1일에만 program 을 실행.

   지금 root 파일을 변경했는데 root 파일이 아닌 각계정의 파일을 만들어 사용하면 각유저마다 자동으로 실행할수 있다.    

 
[출처-네이버]
반응형