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

前几天看nginx日志,发现日志文件发现愈来愈大。下载分析很是不方便,因此打算按天对其进行切割,使用shell脚本方式进行切割。nginx

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

建立分割shell脚本

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

执行如下命令:spa

cd /usr/local/nginx/logs
vi nginxLogRotate.sh

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)

注意,建立完成文件以后须要配置一下文件权限,执行如下命令就能够日志

chmod 777 nginxLogRotate.sh

建立自动调试

执行如下命令配置自动调度code

crontab -e

在自动调度中配置如下信息blog

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

 

经过以上配置就完成了Nginx日志自动切割,天天下载16点50分自动切割,也能够根据本身的须要本身配置时间,天天会产生一个当天日志的日志。进程

相关文章
相关标签/搜索