ABOUT ME

-

Today
-
Yesterday
-
Total
-


  • crontab
    웹&컴퓨팅 2007. 8. 10. 10:36
    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 파일이 아닌 각계정의 파일을 만들어 사용하면 각유저마다 자동으로 실행할수 있다.    
     
     
    ///////////////////////////////////////////////////////////////////////////////////////
     
     
    crontab 옵션
    crontab [ -u user ] file
    crontab [ -u user ] { -l | -r | -e }
    -u user : user 사용자에 대해서 crontab 작업을 수행한다. 생략하면 crontab 명령을 실행하는 사용자에 대해서 crtontab 작업을 수행.
    -l : 현재 cron table을 보여 줌
    -r : 현재 cron table을 삭제
    -e : 현재 cron table을 편집
    일반적으로  crontab -e 명령을 주로 사용한다.

    crontab 사용 권한 : /etc/cron.allow, /etc/cron.deny
    특정 사용자에게만 cron의 사용을 허가할 경우
    /etc/cron.allow 파일에 허가할 사용자만 추가해준다
    /etc/cron.deny 파일에 허가하지 않을 사용자를 추가한다
    /etc/cron.allow를 먼저 참조한다.
    /etc/cron.allow에 명시된 사용자는 cron job을 실행할 수 있다.
    /etc/cron.allow에 없는 사용자는, /etc/cron.deny에도 없다면, cron job을 실행할 수 있다.
    /etc/cron.allow, /etc/cron.deny 두 파일이 존재하지 않으면 슈퍼 유저만 cron job을 수행할 수 있다.
    /etc/cron.deny 파일이 존재하고 아무 내용 없이 비어 있다면, 모든 사용자가 cron job을 수행할 수 있다.

    cron table의 각 필드
    +-------------------------------------------------------------------+
    | 분 | 시간 | 날짜 | 달 | 요일 | 사용자 | 명령 |
    +-------------------------------------------------------------------+
    minute(0~59) hour(0-23) day(1-31) month(1-12) weekday(1-7) command
    <분>은 0-59  <시>는 0-23  <날짜>는 0-31  <달>은 0-12(0또는 12는 12월, 1은 1월...) <요일>은 0-7(0과 7은 일요일, 1은 월요일...)
    ''*''  :  everytime
    ''-''  :  범위 지정, 예를 들어 시간 필드에 1-3이면 1시와 3시 사이
    '',''  :  separator, 예를 들어 시간 필드에 1,3이면 1시와 3시
    /   :  시간필드 에서 23-7/2라면 23시부터 07시까지 매 2시간마다라는 의미
          분필드에서 */2라면 매 2분마다라고 해석하면 된다.

    사용 예
    30  05 *  *  1    ~/bin/backup.sh
                  ==> 매주 월요일  오전 05시 30분에 ~/bin/backup.sh을 실행
    30  2  1  *  *    ~/bin/backup.sh
                  ==> 매월 1일 새벽 2시 30분에 ~/bin/backup.sh를 실행
    20  1  *  *  *    find /tmp -atime +3 -exec rm -f () '';''
                  ==> 매일 새벽 01시 20분에 3일간 접근하지 않은 /tmp내의 파일을 삭제

    '웹&컴퓨팅' 카테고리의 다른 글

    meta  (0) 2007.10.11
    스크립트  (0) 2007.10.11
    crontab  (1) 2007.08.10
    php.ini  (0) 2007.08.09
    자바스크립트  (0) 2007.08.02
    select 박스를 multiple 로 업다운  (2) 2007.07.28

    댓글 1

    • Favicon of http://www.louisvuittonusab.com/ louis vuitton outlet 2013.01.05 03:00

      좋은
      "So, how will break the curse?"A breeze flash, http://www.michaelkorsbagsx.com/ cheap michael kors handbags before more than a touch of red exquisite body michael kors.michael kors looked me in the eye, or silently shook his head.I wonder at michael kors, isn't even crack the method do not know, so, the curse might break?

      "Cher, down the hill, it has nothing to do with you." http://www.michaelkorsbagsx.com/ michael kors outlet gently holding my hand, floated down to the peak, and at that moment I, like in a cloud of confusion in search, Hong Yan face in the morning light so untrue, that moment, I know we all over what......

      A speechless, back to the bamboo house, http://www.michaelkorsbagsx.com/ michael kors purses are already waiting for me."michael kors, you son of a great morning where to go?"The anxious mood, slightly reproachfully.I hint Hong Yan loosened my hands, "Daddy, we just turn around, walk."Went to pull michael kors's hand, "don't worry about his daughter, michael kors told you?Stay here with you for a lifetime."

Designed by Tistory.