본문 바로가기
Develop/Linux

아파치 에러 로그로 인한 서버 오류

by bellsilver7 2016. 4. 15.
728x90

서버에 아파치 error_log가 쌓여서 웹서버 접근이 막히는 현상이 있었다.

이때 처리해준 방편이다.


1. 백업파일을 저장할 경로 생성

#mkdir /usr/local/apache/logs/error_logs_bak 



2. httpd.conf 파일에 백업 명령문 등록

#vi /usr/local/apache/conf/httpd.conf

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# 10M 단위로 rotate

# ErrorLog "logs/error_log"

# del_logs.sh : 백업된 파일 삭제 명령문 (스케쥴러 등록되어 있음)

# 위 파일 해당경로 : /usr/local/apache/logs/del_logs.sh

ErrorLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/error_logs_bak/error_log.%Y%m%d%H%M%S 10M"

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



3. 백업된 파일 삭제 스케쥴스크립트 생성

#vi /usr/local/apache/logs/del_logs.sh

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#!/bin/sh

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin


# 해당 경로에서 파일명이 'error_log.'으로 시작되는 파일들을 찾아 삭제

find /usr/local/apache/logs/error_logs_bak -name 'error_log.*' -exec rm {} \;


# 로그 제거 후에는 Apache를 재시작 해야한다.

/usr/local/apache/bin/apachectl restart

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



4. 스크립트 실행 권한 설정

chmod +x del_logs.sh



5. crontab으로 백업파일 삭제 스케쥴 등록

#crontab -e

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

# apache logs remove

0 1 * * * /usr/local/apache/logs/del_logs.sh

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

728x90

댓글