서버호스팅, 코로케이션, 매니지드호스팅, IDC, 도메인, 웹호스팅 - KOREA IDC
KOREA IDC 바로가기 차이나 다이렉트 기업망 바로가기
 
  • 백업
  • DB
  • 단기
  • 백업
  • DB
  • 단기

apache log rotate 11485
2013/12/13 11:43:24
아파치에서 로그 저장 방법을 rotatelogs과 logrotate를 이용하여 설정할 수 있습니다.
접속자가 많아 로그파일 용량이 계속 증가할 경우 서버 부하의 원인이 될 수 있으므로
파일을 여러개로 나누어 저장하여 관리가 가능합니다.
 
 
1. rotatelogs
 
아파치에 속한 툴이며 설정 후 아파치를 실행할경우 자동으로 같이 실행됩니다.
도메인이 한개 혹은 적을경우 httpd.conf에 적용하면 되지만,
여러 도메인별로 각각의 파일을 저장할 경우 httpd-vhosts.conf에 설정합니다.
 
[root@ns1 ~]# vi /usr/local/apache/conf/extra/httpd-vhosts.conf
 
기존 설정에 CustomLogErrorLog를 수정합니다.
 
 
CustomLog "|/usr/local/apache/bin/rotatelogs /free/home/xero/www.test.com-access-%Y-%m-%d.log 86400" vcommon
ErrorLog "|/usr/local/apache/bin/rotatelogs /free/home/xero/www.test.com-error-%Y-%m-%d.log 86400"
 
%Y-%m-%d 부분은 현재의 년,월,일 입니다.
 
86400은 초 단위이며, 이 수치를 환산하면 24시간 주기로 한번씩 로그파일이 새로 생성되게 설정됩니다.
0시를 기점으로 저장할경우 GMT 기준 시간이기 때문에 한국시간으로 환산하려면 9시간(60*9초)을 추가하시면 됩니다.
86400 뒤에 +540을 추가하면 됩니다.
 
 
 
vcommon 부분은 httpd.conf의 LogFormat 설정의 별명부분이며 설정되어있는 별명으로 선택하시면 됩니다.
  - 예)
    httpd.conf
   
 
    이런식으로 설정되어있을 경우 저는 조금 더 세밀하게 저장이 가능한 vcommon으로 설정하였습니다.
 
 
시간 주기가 아닌 용량으로 설정할 경우 86400 부분 대신 원하는 용량단위를 입력하면 됩니다.
 
 
 
86400초마다 생성되게 설정했을 경우 아래처럼 매일 파일을 생성하게 됩니다.
 
 
 
아파치 로그폴더의 파티션 용량이 부족할 경우 다른 파티션으로 이동하여 관리하거나 오래된 기간의 파일인 경우 삭제하시면 됩니다.
 
 
 
 
 
2. logrotate
 
리눅스 기본 시스템로그파일들이 설정이 되어있으며 rotatelogs와는 달리 자동적으로 오래된 파일을 삭제하므로 더욱 간편합니다.
/var/log 폴더를 보면 주 단위로 시스템 로그파일들이 분할되어있는것을 볼 수 있습니다.
 
 
 
이런 로그파일들은 logrotate를 통해 기본적으로 설정이 되어있으며 아래와 같습니다.
 
 
/etc/logrotate.conf 파일내용입니다.
 
이 파일에 설정되어있는 wtmp처럼 아래에 설정할 수 있지만 추가할 로그파일이 많아질경우
/etc/logrotate.d 폴더 내에 파일을 생성해서 개별적으로 추가할 수 있습니다.
 
 
 
apache 라는 파일을 생성해서 아파치 로그파일들을 로테이션 설정해보겠습니다.
 
 
daily
 - 어느 시간에 한번씩 로테이션을 돌릴지를 정합니다. daily/weekly/monthly/yearly 등으로 설정할 수 있고,
   daily의 경우 하루에 한번씩 파일을 생성합니다.
 
rotate 7
 - 파일을 7개까지 생성하겠다는 의미이며 주기가 돌아올경우 .1파일은 .2가 됩니다.
   .7 의 파일은 .8가 되므로 자동으로 삭제됩니다.
 
postrotate ~ end스크립트
 - 로테이션이 돈 직후에 자동으로 작업할 스크립트를 작성하는 부분입니다. 로테이션이 돌기 직전에 작업할 경우 postrotate 대신 prerotate를 쓰시면 됩니다.
   위와같이 아파치를 재시작을 하고 스크립트를 닫습니다.(end스크립트)
 
 
   아파치를 재시작하는 이유는 로테이션이 돈 후라도 아파치 프로세스는 계속 실행중이기 때문에 파일명이 변경되었더라도 계속 쌓입니다.
   access_log 가 access_log.1 가 되어도 재시작을 하지않으면 새로 쌓일경우 access_log.1 로 쌓이게 됩니다.
   이 경우에는 스크립트 대신 logrotate 옵션값으로 copytruncate 를 이용하는것이 가능합니다.
   작업시 파일명 변경(move)이 아닌 동일 파일을 다른이름으로 복사(copy)하기때문입니다.
 
 
위와같은 설정으로 아파치 로그는 아래와 같이 쌓이게 됩니다.
 
 
 
 
사이트 접속수에 따라 주기를 하루단위 혹은 주단위로 설정하시면 됩니다.
2013-12-13 11:44:31 에 내용이 수정되었습니다.
  
107 iis 설정 백업/복원, 이전 [0] 2015/05/15 15712
106 컴파일 빠르게 하기 [0] 2015/05/06 11182
105 rsync 및 scp 사용법 과 활용방법 [0] 2015/01/29 28263
104 프로세스 우선순위를 결정하는 nice(niceness) 와 renice 사용법 [0] 2014/12/01 18309
103 Htop( Linux Process Monitoring )사용법 [0] 2014/11/26 12762
102 (리눅스) volatility를 이용한 메모리 덤프 점검 [0] 2014/04/09 17690
101 nslookup 사용 방법 [0] 2013/12/20 12051
apache log rotate [0] 2013/12/13 11486
99 mysql에 입력했던 명령어(history)를 보기 [0] 2013/11/24 19513
98 named 체크 사용방법 [0] 2013/11/22 8375
97 mysql 설치 옵션 , 추천 옵션 정리 [0] 2013/11/20 8606
96 화이트 도메인 (White Domain) 등록 및 확인 방법 [0] kyo0162 2013/11/20 9635
95 Apache의 Worker / Prefork 방식의 차이점과 세팅 방법 [2] 2013/11/06 23956
94 mysql 5.6 설치 메뉴얼 [1] 2013/11/05 12116
93 whois, dig 사용방법 [0] 2013/11/01 7289
맨앞 이전  |1|2|3|4|5|6|7|8|  다음 맨뒤

하단메뉴
(주)인터넷나야나, 서울시 금천구 디지털로9길 99, 1107호(가산동) 전화: 1661-0900, 02-852-4745; 팩스: 02-852-4744
패밀리사이트
회사소개(새창열림) IDC소개 이용약관 개인정보취급방침 이메일무단수집거부 사이트맵 고객센터 인터넷나야나 바로가기(새창열림) 예로 바로가기(새창열림) 내선안내 메일보내기 server@koreaidc.com
네이버키워드광고
워드프레스호스팅