본문 바로가기

스크립트

아파치 서버의 로그 저장 스크립트

반응형

아파치 서버의 로그 저장 스크립트

이 스크립트는 Apache 웹 서버의 액세스 로그 및 에러 로그를 매일 로테이트하여 지난 3일 간의 로그를 보관하고, 오래된 로그를 삭제하는 기능을 수행합니다.

vim apache_log_rotate.sh
#!/bin/bash

# Script Name: apache_log_rotate.sh
# Description: Rotate Apache web server logs and remove old logs

C_DATE=$(date +%Y-%m-%d)
LAST_DATE=$(date +%Y-%m-%d --date '3 days ago')
SITES=$(grep ServerName /usr/local/apache2/conf/extra/httpd-vhosts.conf | grep -v '#' | awk '{print $2}')

mkdir -p /var/log/httpd/$C_DATE

cd /var/log/httpd

for SITE in $SITES; do
    cp "$SITE-access_log" "/var/log/httpd/$C_DATE/"
    > "$SITE-access_log"
done

for SITE in $SITES; do
    cp "$SITE-error_log" "/var/log/httpd/$C_DATE/"
    > "$SITE-error_log"
done

rm -rf "$LAST_DATE"

 

728x90
반응형