1.Nginx日志基本配置说明
声明日志格式: access_log logs/access.log main; 声明log log位置 log格式; 定义日志格式(以下为常用的日志格式 可各自按需调整格式): log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; Nginx日志的作用域可以为http server location 日志级别location>server>http
2.Nginx日志按天切割
编写Shell脚本splitLog.sh(记住为splitLog.sh添加可执行权限):
#!/bin/bash #此脚本用于自动分割Nginx的日志,包括access.log和error.log #每天00:00执行此脚本 将前一天的access.log重命名为access-xxxx-xx-xx.log格式,并重新打开日志文件 #Nginx日志文件所在目录 LOG_PATH=/home/wwwlogs/ #获取昨天的日期 YESTERDAY=$(date -d "yesterday" +%Y-%m-%d) #获取pid文件路径 PID=/usr/local/nginx/logs/nginx.pid #分割日志 mv ${LOG_PATH}access.log ${LOG_PATH}access-${YESTERDAY}.log mv ${LOG_PATH}error.log ${LOG_PATH}error-${YESTERDAY}.log #向Nginx主进程发送USR1信号,重新打开日志文件 kill -USR1 `cat ${PID}` ~
chmod +x /Server/Scripts/Nginx/splitLog.sh
3.添加Linux定时任务
配置crontab每天凌晨00:00定时执行这个脚本
crontab -e # 输入以下内容并保存 00 00 * * * /bin/bash /Server/Scripts/Nginx/splitLog.sh 重启Linux定时任务 # systemctl restart crond
微信扫描下方的二维码阅读本文