메뉴 건너뛰기

  • 클론탭(crontab) 기본 개념
  • 에프닷
    조회 수: 4, 2019.10.18 19:16:49
  •  
    프로그래밍/Linux

    [Linux] 클론탭(crontab) 기본 개념

    우수고객
    댓글수0

     

    Crontab 이란

     

     crontab은 스케줄링을 관리하는 프로그램으로 시스템 관리자에게 중요한 유틸 중 하나이다. 특정 시간대에 사용자가 작성한 스트립트나 명령을 실행 할 수 있다. 이는 rsync 같은 툴을 같이 사용하여 굉장히 편리한 백업 시스템을 만들 수도 있고 데이터 베이스관리나 기타 반복적인 업무를 간편하게 등록하여 사용 할 수 있다.

     
     
     
    MIN HOUR DOM MON DOW CMD
    
     
     
     
     
     
     
     
     

     

    필드 명세 허용 값
    MIN 0~59
    HOUR 시간 0~23
    DOM 날짜 1-31
    MON 1-12
    DOW 0-6
    CMD 명령어 실행 가능 한 모든 명령어

     

     

    1. 다음 시간 6월 10일 오전 8시 30분 을 cron 명령어에 맞게 작성해보자.

     
     
     
    30 08 10 06 * /home/script/backup
    
    •  
      30: 30분
    •  
      08: 오전 8시 <24시제>
    •  
      10: 10일
    •  
      06: 6월
    •  
      *: 매주
     

    2. 매일 하루 두 번 증분 백업을 하자.

     
     
     
    00 11,16 * * * /home/script/incremental-backup
    
    •  
      00: 0분 (정각)
    •  
      11,16 - 오전 11시 / 오후 4시
    •  
      *: 매일
    •  
      *: 매달
    •  
      *: 매주
     

    3. 특정 시간대에 작업하기

     
     
     
    00 09-18 ** 1-5 /home/check-db-status
    
    •  
      00: 0분 (정각)
    •  
      09-18: 오전 9, 10, 11, 12시 / 오후 1, 2, 3, 4, 5, 6시 마다 작업
    •  
      *: 매일
    •  
      *: 매달
    •  
      1-5: 월, 화, 수, 목, 금 (주중)
     

    4. crontab 작업 목록 보기 (명령어)

     
     
     
     
     
     
     
     
     
     
     
     
    $ crontab -l
    @hourly /home/script/hourly-script
    00 09-18 ** 1-5 /home/check-db-status
    
    $ crontab -u foo -l
    no crontab for foo
    
    $ su
    # crontab -l
    no crontab for root
    
     

     

     

    5. crontab 목록 수정

     

    목록 수정을 vi/vim으로 편집하려면 변수를 선언해줘야 한다. export VISUAL=vim

     
     
     
     
    $ crontab -e
    $ crontab -u foo -e
    
     

    6. 매분마다 작업하기

     
     
     
    * * * * * CMD
    
     

    7. 10분 마다 작업하기

     
     
     
     
    */10 * * * * /home/script/check-disk-space
    0-10/2 * * * * /home/script/check-db-updates-5times
    
    •  
      */10의 뜻은 10분 마다
    •  
      0-10/2의 뜻은 처음 10분 동안 2분 간격으로
     

    8. 키워드 사용

     

    Keyword

     
     
     
     
     
     
     

     

    키워드 대치 문법
    @yearly 0 0 1 1 *
    @daily 0 0 * * *
    @hourly 0 * * * *
    @weekly 0 0 * * 0
    @reboot 시스템 시작 시

     

     

    다음은 키워드를 사용해 매일 반복하는 작업 스케줄링 crontab이다.

     
     
     
    @daily /home/script/make-log
    
     

    9. 메일 사용

     

    crontab 수정시 MAILTO를 선언하면 실행 내용을 메일로 받을 수 있다.

     
     
     
    MAILTO="xajax@naver.com"
    
     

    10. 파일을 통한 crontab 설정

     

    파일로 저장해 놓고 다른 시스템에 재 사용 하고 싶다면 다음과 같이 하면 된다.

     
     
     
     
    $ crontab cron-file.txt
    $ crontab -l

     

     

    [출처] 효율적인 crontab 사용법|작성자 오라클

     
    •  

댓글 0 ...

위지윅 사용
번호
제목
닉네임
17 에프닷 1 2025.08.20
16 에프닷 7 2024.05.22
15 에프닷 942 2024.04.22
14 에프닷 5 2024.01.01
13 에프닷 6 2020.01.15
12 에프닷 6 2019.10.18
에프닷 4 2019.10.18
10 에프닷 4 2019.10.16
9 에프닷 4 2019.10.04
8 에프닷 1 2019.09.24
7 에프닷 2 2019.09.23
6 에프닷 7 2019.09.18
5 에프닷 5 2019.09.12
4 에프닷 3 2019.09.09
3 에프닷 113 2019.09.07
2 에프닷 9 2019.09.03
1 에프닷 4 2019.04.24
태그