nginx日誌切割(把同一個域名的日誌文件放在同一個文件夾下)

#!/bin/bash
#guoyf 2014/3/11
#nginx logs fen ge
#this script runing 00:00
#定義變量
path=$PATH
export path
year=$(date -d "yesterday" +"%Y")
month=$(date -d "yesterday" +"%m")
nginx_log_dir=/usr/local/nginx/logs


#獲取日誌文件
if [ -d $nginx_log_dir ];then
        cd $nginx_log_dir
        ls | grep ".log" > /tmp/nginxloglist.txt
#       ls | grep -v 'nginx'
else
        echo "log backup directory does not exist, exit"

        exit 1
fi
#複製昨天日誌到備份目錄並改名
for logname in `cat /tmp/nginxloglist.txt`
do
    #分割出來的日誌的路徑
    cut_log_path=/backup/$logname/${year}/${month}
    #判斷路徑是否存在
    if [ ! -d $cut_log_path ];then
            mkdir -p $cut_log_path
    fi
        mv $nginx_log_dir/$logname $cut_log_path/$(date -d "yesterday" +%Y%m%d)'_'$logname
done
#從新打開一個nginx日誌文件
cat $nginx_log_dir/nginx.pid |xargs kill -USR1nginx

相關文章
相關標籤/搜索