서버에 아파치 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
'Develop > Linux' 카테고리의 다른 글
SSH 접속 시 [ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! ] (0) | 2016.11.19 |
---|---|
CentOS7 + Apache + MySQL + PHP 소스설치 (0) | 2016.11.19 |
[Linux - CentOS] 맥북에 VirtualBox + CentOS 7 설치 및 네트워크, SSH 설정 (0) | 2016.11.13 |
Linux 서버간 sshfs를 사용한 공유폴더 설정 (0) | 2016.06.29 |
[Linux - Apache] 로그 파일 내용만 제거하는 방법 (0) | 2016.02.17 |
댓글