nginx日志定期归档脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx日志定期归档脚本相关的知识,希望对你有一定的参考价值。

#!/bin/bash
#nginx下域名access日志切割归档脚本
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)

#==================================================Definition array====================================================
catalogue=(
        www_logs
        service_logs
        marketing_logs
        sdk_logs
        mobile_logs
        att3_logs
        crontab_logs
)

#============================================Definition dealwith log function==========================================
function pigeonhole(){
cd /DATA/nginx/logs/$1
presentpath=`pwd`
masterdir=${presentpath##*/}
domain=`echo $masterdir | awk -F_ ‘{print$1}‘`
if [ -e ./$domain.access.log ];
then
        cp ./$domain.access.log ./$domain.access-$YESTERDAY.log
        tar zcvf ./$domain.access-$YESTERDAY.tar.gz ./$domain.access-$YESTERDAY.log
        res=`echo $?`
        if [ $res -eq 0 ];
                then
                echo " " > ./$domain.access.log
                rm -rf ./$domain.access-$YESTERDAY.log
        else echo "$domain access log compression failed!"
        fi
else
    echo "$domain access log inexistence!"
    break
fi
}

#==============================================Definition Main function===============================================
function ipoll(){
        for ((i=0;i<8;i++))
        do
                pigeonhole ${catalogue[$i]}
        done
}

#====================================================Main process======================================================
ipoll
exit


本文出自 “人生如画,落笔无悔!” 博客,转载请与作者联系!

以上是关于nginx日志定期归档脚本的主要内容,如果未能解决你的问题,请参考以下文章

logrotate轮询nginx日志

Nginx服务优化日志分割

Nginx优化---日志分割

实现对nginx日志切割

shell定期转移日志文件到云盘并定期删除云盘文件

CentOS7下设置定期清理Oracle归档日志