0. 내가 원하는 것?
아파치에서는 로그를 자동으로 깔끔하게 로테이트 시키지 않는다.
로테이트도 날짜가 엉망이라 알아보기 힘들다. 그래서 난 날짜별로
로그를 모으기 위해 다음 쉘스크립트를 만들었다.
1. 설명 :
cron의 힘을 빌려!! 매일 00시00분에 위 쉘스크립을 실행시키면,
어제날짜를 구한 다음 기존로그를 어제 날짜로 옮기고, 아파치를 재 시작한다.
그리고 로그는 gzip으로 압축해서 보관하면.. 효율적으로 로그 보관할 수 있다.
2. 압축된 로그 볼때?
zcat 파이명
3. 쉘프로그램 소스 (/root/log_rotate.sh)
#!/bin/bash
## 로그 자동 로테이터
## crontab : 00 00 * * * su - root -c '/root/log_rotate.sh >& /dev/null'
## made by doly at ohmi.co.kr
## 어제날짜
TODAY=`/bin/date -d '1 days ago' '+%Y-%m-%d'`
#### 로그를 오늘 날짜로된 파일로 복사한다.
/bin/mv /usr/local/apache/logs/access_log /usr/local/apache/logs/access_log.$TODAY
/usr/local/apache/bin/apachectl restart
## 로그를 압축해서 보관한다.
/bin/gzip /usr/local/apache/logs/access_log.$TODAY
http://www.ohmi.co.kr/gnu4/bbs/board.php?bo_table=shellprog&wr_id=5
이 글은 스프링노트에서 작성되었습니다.