nginx日志切割(把同一天生成的不同域名的日志文件放在统一个文件夹下)

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

day=$(date -d "yesterday" +"%d")

nginx_log_dir=/usr/local/nginx/logs
#分割出来的日志的路径
cut_log_path=/backup/${year}/${month}/${day}
#判断路径是否存在
if [ ! -d $cut_log_path ];then
        mkdir -p $cut_log_path
fi
#获取日志文件
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
        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日志切割(把同一天生成的不同域名的日志文件放在统一个文件夹下))