Linux nginx日志按天分割實例


Linux nginx日志按天分割實例

 

 

nginx的日志有個小缺點,日志文件一直就是一個,不會自動地進行切割,如果訪問量很大的話,將導致日志文件非常大,不便於管理

這就需要我們自己來實現了,按日期每天生產一個日志文件

思路

每天零點把默認日志文件改名為當天日期,再重新打開新的日志文件

使用定時任務來執行腳本,腳本中執行改名和重新打開日志文件的操作

向Nginx主進程發送 USR1 信號,就可以重新打開日志文件


實現

 

#/bin/bash

#備份日志的路徑
bakpath='/home/nginx/logs'

#nginx日志路徑
logpath='/usr/local/nginx/logs'

#在備份路徑下創建年月子目錄
mkdir -p $bakpath/$(date +%Y)/$(date +%m)

#移動日志文件到備份路徑,並改名為日期格式
mv $logpath/access.log $bakpath/$(date +%Y)/$(date +%m)/access.$(date +%Y%m%d).log

mv $logpath/error.log $bakpath/$(date +%Y)/$(date +%m)/error.$(date +%Y%m%d).log

#用 USR1 信號讓nginx重新打開日志文件
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM