웹로그가 많이 쌓이게 되면 접속로그를 기록하는데 시간이 오래 걸리기 때문에
웹 접속 역시 더디게 됩니다. 이럴 때에는 필요없는 로그를 지워줌으로써
속도의 향상을 기대할 수 있습니다.
웹로그는 일반적으로 소스로 설치를 했을때에는 /usr/local/apache/logs
디렉토리안에 존재 하게 되며, rpm으로 설치시에는 /var/log/httpd안에
기록이 되게 됩니다.
로그는 접속기록및 전송데이터등을 분석할수 있는 자료가 되므로,
무턱대고 지우기 보다는 일정한 기간동안은 로그를 보관하는 것을 권고 합니다.
다음과 같은 스크립트로 하루하루 로그를 백업함으로써, 로그로 인한
웹 접속장애도 없애고, 로그 data를 일정동안 보관함으로써 나중에
로그 분석으로도 사용할수 있을 것입니다.
아래 쉘 프로그래밍은 날마다 로그를 백업하며, 그 백업분을 일주일동안
보관하는 프로그램으로서 이것을 cron에 등록시켜 사용하시면 됩니다.
/etc/crontab 에 다음과 같이 추가합니다.
===========================
00 0 * * * root /usr/local/apache/logs/logbackup.sh
===========================
# 아래의 프로그램을 logbackup.sh란 이름으로 저장하고, /usr/local/apache/logs/ 디렉토리 안에
넣었을때의 예제임!!
# 참고로, 접속자가 많은 웹사이트의 경우 하루분량의 접속로그의 용량이
상당히 클수 있으므로 자신의 서버 하드디스크의 용량을 참고하여
쉘 프로그래밍을 수정하여 사용하도록 합니다.
=============================
#hostway.kh
#!/bin/sh
rdate -s time.nuri.net
today=$(date +%y-%m-%d)
rmday=$(date +%y-%m-%d --date '7 days ago')
defaultdir="/usr/local/apache/logs"
cd $defaultdir
rm -rf $rmday
mkdir $today
for w in $(ls | grep "access_log")
do
cp $w $today
echo "##$today##" > $w
done
for z in $(ls | grep "error_log")
do
cp $z $today
echo "##$today##" > $z
done
======================
'IT_Server > UNIX · Solaris' 카테고리의 다른 글
Apache 에서 DDoS 공격 막기 / 아파치 튜닝 정리 (0) | 2008.02.03 |
---|---|
[Solaris] 오픈 솔라리스 개발을 처음 시작하는 개발자를 위한 FAQ (0) | 2007.07.20 |
[Solaris] 솔라리스10 컨테이너에 IBM DB2 UDB v8.2.x 배치하기 (0) | 2007.07.20 |
[Solaris] 32-비트 stdio 의 256 파일 디스크립터 제한에 대한 해결책 (0) | 2007.07.20 |