nginx按天切割日志

时间:2023-03-09 09:43:07
nginx按天切割日志

原文链接:http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html  本文只节选部分内容

Nginx自己没有日志分割的功能,一旦时间过长,日志文件就会变得很大,在进行日志分析的时候就会变得很困难,因此分割日志很有必要。

本次讲解的是使用shell脚本来实现按天分割日志

 #!/bin/bash


# Nginx 日志文件所在的目录
LOGS_PATH=/usr/local/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 /usr/local/nginx/logs/nginx.pid)

使用定时任务定时执行脚本,即可实现按天切割日志。

本例使用的是CentOS系统:

格式:

从左向右(以空格分隔):分--时--日--月--星期-要执行的命令

  * * * /usr/local/nginx/logs/cutlog.sh   #每天0点执行一次cutlog.sh脚本