nginx日志分割脚本

原创
2020/04/08 10:31
阅读数 38

重新分享下我的nginx日志分割脚本

  • 可以备份多个日志。
  • 快速创建新日志,减少备份时期丢失日志。
  • 备份目录按${website}日志名自动创建。
  • 空日志不会创建备份日志。

注意日志文件名格式 以 "access_" ,"error_" 开头, ".log"结尾

如:

access_log logs/access_youwebsite.log;
error_log  logs/error_youwebsite.log;

vim cut_nginx.sh

# !/usr/bin/bash
logs="/usr/local/nginx/logs"
backup="/home/backup"
time=`date +%Y%m%d-%H:%M:%S`

website="youwebsite  otherwebsite  otherotherwebsite"

for i in $website
do
    if [ ! -d ${backup}/${i} ]
    then
        mkdir ${backup}/${i}
    fi
done

for i in $website
do
    if [ -s ${logs}/access_${i}.log ]
    then
        mv ${logs}/access_${i}.log ${logs}/access_${i}.log_2
    fi

    if [ -s ${logs}/error_${i}.log  ]
    then
        mv ${logs}/error_${i}.log ${logs}/error_${i}.log_2
    fi
done

# kill -USR1 `cat  /usr/local/nginx/logs/nginx.pid`
/usr/local/nginx/sbin/nginx -s reload

for i in $website
do

    if [ -s ${logs}/access_${i}.log_2 ]
    then
        mv ${logs}/access_${i}.log_2 ${backup}/${i}/access_${time}.log
        xz  ${backup}/${i}/access_${time}.log
    fi

    if [ -s ${logs}/error_${i}.log_2  ]
    then
        mv ${logs}/error_${i}.log_2 ${backup}/${i}/error_${time}.log
        xz  ${backup}/${i}/error_${time}.log
    fi
done

 

 

展开阅读全文
加载中

作者的其它热门文章

打赏
0
0 收藏
分享
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部
返回顶部
顶部