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 -USR1

你可能感兴趣的:(nginx日志切割(把同一个域名的日志文件放在同一个文件夹下))