切割Nginx日志

nginx日志不会按时间或大小分割,会导致随着时间的推移日志越来越大,以下是通过定时脚本对日志进行分割

#!/bin/bash
## nginx 日志切割
## Nginx 日志文件所在的目录
LOGS_PATH=/opt/nginx/logs
## 获取昨天的 yyyy-MM-dd
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
## 移动文件
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件
kill -USR1 $(cat /opt/nginx/logs/nginx.pid)

其中的信号说明可以参考[[nginx信号]],对其进行了更详细的解释。

另外,如果nginx部署在Linux环境,还可以使用[[../Linux命令/logrotate命令–管理日志文件|logrotate]]这个工具来对日志进行定期管理。 Nginx使用logrotate轮转日志

最后更新于