crontab


크론탭 이란?

  • 지정한 시간(=크론탭 주기) 에 수행 될 명령 또는 쉘 스크립트를 설정 합니다.
  • 윈도우의 스케쥴과 같은 개념입니다.
  • crontab 명령어를 사용합니다.

크론탭 주기

*      *      *      *      *
(0-59)  시간(0-23)  일(1-31)  월(1-12)   요일(0-7)

크론탭 옵션

  • l - 등록된 크론탭 목록을 조회합니다.
  • e - 크론탭을 등록 및 수정, 삭제 합니다.

크론탭 사용 예

  1. crontab -l 를 통해 등록 된 크론탭 항목을 조회합니다.
    $ crontab -l 
    
  2. crontab -e 를 통해 크론탭을 등록 합니다.
    $ crontab -e
    # 매 1시에 manageLog.sh 파일을 실행되도록 크론탭을 등록 합니다.
    0 1 * * * /logs001/manageLog.sh
    
  3. crontab -l 크론탭 항목을 재 조회 합니다.
    $ crontab -l
    # 매 1시에 manageLog.sh 파일을 실행되도록 크론탭을 등록 합니다.
    0 1 * * * /logs001/manageLog.sh 
    

manageLog.sh 참고

WEB, WAS 로그를 7일 주기만 보관하기 위한 용도로 만든 쉘 스크립트 입니다.

#!/bin/sh

########  WEB  #########################################################
## nginx access log
cd /logs001/nginx && cp access.log access.log.$(date +%Y%m%d --date '1 days ago')  && cat /dev/null > access.log

## nginx error log
cd /logs001/nginx && cp error.log error.log.$(date +%Y%m%d --date '1 days ago')  && cat /dev/null > error.log

## delete nginx file after 7 days
find /logs001/nginx -type f -ctime +7 -delete

########  WAS  #########################################################
## copy & init catalina log file
cd /logs001/was && cp catalina.out catalina.out.$(date +%Y%m%d --date '1 days ago')  && cat /dev/null > catalina.out

## delete log file after 7 days
find /logs001/was -type f -ctime +7 -delete

## delete applog after 7 days
find /logs001/applog -type d -ctime +7 -exec rm -rf {} +

태그:

카테고리:

업데이트:

댓글남기기