当前位置

首页 > 语文基础 > 日志 > nginx多server日志分割脚本

nginx多server日志分割脚本

推荐人: 来源: 阅读: 2.78W 次

1,配置多个server日志只要在$website变量增加并用空格分开就行。

nginx多server日志分割脚本

2,循环创建日志目录

3,分割后用xz 压缩,当然没安装可以用gzip bzip2等等。

4,注意我配置nginx日志文件名为 "access_{{站点网站}}" "error_{{站点网站}}"

复制代码 代码如下:

# !/usr/bin/bash

log_dir="/usr/local/nginx/logs"

back_log_dir="/disk110/nginx_log"

time=`date +%Y%m%d-%H:%M:%S`

website=" ";

for i in $website

do

if [ ! -d ${back_log_dir}/${i} ]

then

mkdir ${back_log_dir}/${i}

fi

done

for i in $website

do

if [ -s ${log_dir}/access_${i} ]

then

mv ${log_dir}/access_${i} ${back_log_dir}/${i}/access_${time}

fi

if [ -s ${log_dir}/error_${i} ]

then

mv ${log_dir}/error_${i} ${back_log_dir}/${i}/error_${time}

fi

done

kill -USR1 `cat /usr/local/nginx/logs/`

for i in $website

do

if [ -s ${back_log_dir}/${i}/access_${time} ]

then

xz ${back_log_dir}/${i}/access_${time}

fi

if [ -s ${back_log_dir}/${i}/error_${time} ]

then

xz ${back_log_dir}/${i}/error_${time}

fi

done