Nginx 日志自动切割(Centos6.8)

前几天看nginx日志,发现日志文件发现越来越大。下载分析非常不方便,所以打算按天对其进行切割,使用shell脚本方式进行切割。

当前使用Nginx安装到了/usr/local/nginx

创建分割shell脚本

在/usr/local/nginx/logs上创建一个shell文件,命名为:nginxLogRotate.sh。

## 日志存放路径
LOGS_PATH=/usr/local/nginx/logs
## 获取当天日期,用于日志文件名上
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
## 移动access.log日志,并修改命名
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
## 移动error.log日志,并修改命名
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)

创建自动调试

执行以下命令配置自动调度

crontab -e

在自动调度中配置以下信息

#每天16点50分执行 /usr/local/nginx/logs/nginxLogRotate.sh脚本
50 16 * * * bash /usr/local/nginx/logs/nginxLogRotate.sh

通过以下配置就完成了Nginx日志自动切割,每天下载16点50分自动切割,也可以根据自己的需要自己配置时间,每天会产生一个当天日志的日志。

Nginx 日志自动切割(Centos6.8)

相关推荐