Apache나 Tomcat을 비롯한 많은 서버 어플리케이션들이 로그를 생성하며, 그들은 날짜기반의 로그파일 명을 갖는 경우가 많다. 로그파일은 순수 텍스트기반의 파일로서 압축률이 매우 좋기 때문에, 지난 로그파일들은 압축해서 보관하는 것이 효과적이다.
일 단위 로그는 금일 24시가 지난뒤에야 최종 완성된 로그파일이 생기기 때문에 익일에 파일을 압축하여야 한다. 때문에 crontab에 다음과 같이 등록해준다.
1 0 * * * /opt/script/compress_log.sh
compress_log.sh은 아래와 같이 편집하고 반드시 실행권한을 준다.
gzip /usr/local/apache2/logs/access.log.`date +%Y%m%d --date="1 days ago"`
결국 일자가 포함된 파일명을 추출하는 `date +%Y%m%d --date="1 days ago"`부분이 핵심이다.
crontab의 구체적 사용법은 여기를 참조한다.
일 단위 로그는 금일 24시가 지난뒤에야 최종 완성된 로그파일이 생기기 때문에 익일에 파일을 압축하여야 한다. 때문에 crontab에 다음과 같이 등록해준다.
1 0 * * * /opt/script/compress_log.sh
compress_log.sh은 아래와 같이 편집하고 반드시 실행권한을 준다.
gzip /usr/local/apache2/logs/access.log.`date +%Y%m%d --date="1 days ago"`
결국 일자가 포함된 파일명을 추출하는 `date +%Y%m%d --date="1 days ago"`부분이 핵심이다.
crontab의 구체적 사용법은 여기를 참조한다.