리눅스(linux) 익히기 - crontab 사용법

6. crontab 사용법

crontab: 특정 시간에 특정 프로그램을 주기적으로 수행시키는 프로그램 (리눅스, 맥 전용)

  • 설치

    • 리눅스: apt-get install cron
    • 맥북: 기본 내장
  • crontab 기본

    • crontab -e

      • 크론탭 설정 입력 파일 (vi 에디터 활용, 설정 입력 후 :wq 로 저장)
    • crontab -l

      • 현재 크론탭에 설정되어 있는 내용 확인
    • crontab -d

      • 현재 크론탭에 설정되어 있는 내용 삭제
  • crontab 설정

    • 요일에서 0과 7은 일요일, 1부터 6은 월요일부터 토요일

    • 주기별 예제
      • /root/scripts/status_check.sh 라는 쉘스크립트 파일이 있다고 가정하고 해당 파일의 주기적 실행
      • 매분 실행
        * * * * * /root/scripts/status_check.sh
        
      • 특정 시간에 실행
        • 매주 월요일 오전 6시 40분에 실행
          40 6 * * 1 /root/scripts/status_check.sh
          
      • 반복 실행
        • 매일 매시간 0분, 20분, 40분에 실행
          0,20,40 * * * * /root/scripts/status_check.sh
          
      • 범위 실행
        • 매일 오전 6시 10분부터 40분까지 매분 실행
          10-40 6 * * * /root/scripts/status_check.sh
          
      • 간격 실행
        • 매 20분마다 실행
          */20 * * * * /root/scripts/status_check.sh
          
      • 특정 여러 시각 실행
        • 10일에서 12일까지 4시, 5시, 6시 매 20분마다 실행
          */20 4,5,6 10-12 * * /root/scripts/status_check.sh
          
  • crontab 실행 팁

    • 로그(log) 남겨두기
    • 단, 로그가 많이 쌓이면, 서버 저장공간이 꽉차게 되고, 서버는 다운 또는 비정상동작을 보일 수 있으므로, 주기적으로 삭제
예)
*/20 * * * * /root/scripts/status_check.sh >> /var/log/status_check.log 2>&1
* * 1 * * rm -rf /var/log/status_check.log 2>&1