crontab
크론탭 이란?
- 지정한 시간(=크론탭 주기) 에 수행 될 명령 또는 쉘 스크립트를 설정 합니다.
- 윈도우의 스케쥴과 같은 개념입니다.
- crontab 명령어를 사용합니다.
크론탭 주기
* * * * *
분(0-59) 시간(0-23) 일(1-31) 월(1-12) 요일(0-7)
크론탭 옵션
- l - 등록된 크론탭 목록을 조회합니다.
- e - 크론탭을 등록 및 수정, 삭제 합니다.
크론탭 사용 예
- crontab -l 를 통해 등록 된 크론탭 항목을 조회합니다.
$ crontab -l
- crontab -e 를 통해 크론탭을 등록 합니다.
$ crontab -e # 매 1시에 manageLog.sh 파일을 실행되도록 크론탭을 등록 합니다. 0 1 * * * /logs001/manageLog.sh
- 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 {} +
댓글남기기