nginx在不重啓進程的狀況下,分割nginx日誌,天天一個日誌

摘要:因爲nginx的日誌自己只是支持按照server_name或者大小進行劃分,因此對於有的站長,要對應的網站一天一個日誌分析就不方便,固有了分割nginx日誌的需求。nginx

實現原理:apache

實現步驟:服務器

一.從一臺已經安裝好apache的機器上的apache bin目錄下把rotatelogs拷貝到nginx服務器的/usr/local/nginx/logs/下:網站

1. cp rotatelogs /usr/local/nginx/logsspa

2. chmod +x /usr/local/nginx/logs/rotatelogs日誌

二.建立有名管道:server

1. mkdir /usr/local/nginx/logs/xiazai/原理

2. mkfifo /usr/local/nginx/logs/xiazai/access_log配置

三.在nginx配置文件server中加上:date

1.  access_log    /usr/local/nginx/logs/xiazai/access_log ;

四.建立日誌存儲目錄:

1. mkdir /usr/local/nginx/logs/xiazai/log

五.建立日誌分割腳本:

[root@nginx-71 xiazai]# cat /usr/local/nginx/logs/xiazai/rotate.sh 
baselogdir=/usr/local/nginx/logs/xiazai
rotatelogs=/usr/local/nginx/logs/rotatelogs
while [ 1 ]
do
echo `date +"%F %T"`" rotatelogs access start"
$rotatelogs $baselogdir/log/access_%Y%m%d.log 86400 480 < $baselogdir/access_log
echo `date +"%F %T"`" rotatelogs access stop"
sleep 1;
done

六.建立啓動日誌分割腳本:

[root@nginx-71 xiazai]# cat /usr/local/nginx/logs/xiazai/run.sh  sh /usr/local/nginx/logs/xiazai/rotate.sh >> /usr/local/nginx/logs/xiazai/log/access-rotate.log 2>&1 &

相關文章
相關標籤/搜索