自动分割nginx服务的日志文件

nginx服务每天都会产生大量的日志信息,时间一长导致日志文件容量很大,会影响系统性能。通过以下shell代码,配合crontab定时执行可实现nginx日志定时分割的功能。

#!/bin/bash
# The Nginx logs path
logs_path="/netapp/wwwlogs/"
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
mv ${logs_path}www.bec.net.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/www.bec.net_$(date -d "yesterday" +"%Y%m%d").log
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

dt=$(date +\%Y\%m\%d)
dtDetail=$(date +\%Y-\%m-\%d_\%H:\%M:\%S)
echo $dtDetail":cut_nginx_log.sh run success!" >> /root/shell/cut_nginx_log/cut_nginx_log.txt

 crontab自动执行代码如下,每天12点02分对日志文件进行分割:

#nginx日志分割
2 0 * * * /root/shell/cut_nginx_log/cut_nginx_log.sh
原文地址:https://www.cnblogs.com/yhdsir/p/5026470.html