nginx 日誌切割

nginx 日誌切割


#!/bin/bash

#日誌的位置,日誌文件以access.log結尾
Logs_Path=/home/wwwlogs
cd ${Logs_Path}

#nginx的pid文件
Pid_Path=/var/run/nginx.pid

#日誌切割後存放位置
Logs_Logrotate=/home/wwwlogs

#nginx 程序
Nginx_Program=/usr/local/tengine/sbin/nginx

#日誌壓縮的信息
Compression_Days=3
Compression_Path=/home/wwwlogs/$(date +"%Y%m")
test -d  ${Compression_Path} || mkdir -p ${Compression_Path} 

for log in $(ls *.access.log)
do
#切割日誌
mv $i ${Logs_Logrotate}/${log}.$(date +%F)
#向nginx主進程發信號重新打開日誌
test -f ${Pid_Path} && kill -USR1 $(cat ${Pid_Path}) || ${Nginx_Program}

        #日誌壓縮
        test -f ${log}.$(date -d  "-${Compression_Days} days" +"%F") && mv ${log}.$(date -d  "-${Compression_Days} days" +"%F") ${Compression_Path}
        if [ $? -eq 0 ]; then
                cd ${Compression_Path}
                /bin/gzip ${log}.$(date -d  "-${Compression_Days} days" +"%F")
                cd -
        fi

done


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章