摘要:如果你不處理,日志文件將變得越來越大,還好我們可以寫一個日志切割腳本來自動切割日志文件。工作進程立刻打開新的日志文件并關閉重名名的日志文件。
nginx的日志文件沒有rotate功能。如果你不處理,日志文件將變得越來越大,還好我們可以寫一個nginx日志切割腳本來自動切割日志文件。
第一步就是重命名日志文件,不用擔心重命名后nginx找不到日志文件而丟失日志。在你未重新打開原名字的日志文件前,nginx還是會向你重命名的文件寫日志,linux是靠文件描述符而不是文件名定位文件。
第二步向nginx主進程發送USR1信號。
nginx主進程接到信號后會從配置文件中讀取日志文件名稱,重新打開日志文件(以配置文件中的日志名稱命名),并以工作進程的用戶作為日志文件的所有者。
重新打開日志文件后,nginx主進程會關閉重名的日志文件并通知工作進程使用新打開的日志文件。
工作進程立刻打開新的日志文件并關閉重名名的日志文件。
然后你就可以處理舊的日志文件了。
#nginx日志切割腳本 #!/bin/bash #設置日志文件存放目錄 logs_path="/usr/local/nginx/logs/" #設置pid文件 pid_path="/usr/local/nginx/nginx.pid" #重命名日志文件 mv ${logs_path}access.log ${logs_path}access_$(date -d "yesterday" +"%Y%m%d").log #向nginx主進程發信號重新打開日志 kill -USR1 `cat ${pid_path}`
crontab 設置作業
0 0 * bash /usr/local/nginx/nginx_log.sh
這樣就每天的0點0分把nginx日志重命名為日期格式,并重新生成今天的新日志文件。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/39196.html
摘要:準備工作安裝如果遇到這個錯誤執行如果沒有這個文件夾先執行使用切割日志創建日志源管道文件配置訪問日志啟動,當產生數據時,使用將中的數據轉移到啟動或重啟或定時清理舊日志創建清理腳本保存內容添加定時執行任務每天點執行 準備工作 安裝cronolog brew instal cronolog如果遇到這個錯誤 showImg(https://segmentfault.com/img/bVbabx...
摘要:作為客戶未完全準備好切換到的暫時性方案。一作為服務啟動實際沒有使用這個方法,原因不能生成日志文件,不知道怎么實現日志文件的切割。官方沒有提供作為服務啟動的方案。以服務啟動依賴于,當前最新版是。 作為客戶未完全準備好切換到Linux的暫時性方案。 本文參考了許多網站上的資料,做了簡單的整理。 一、作為服務啟動nginx 實際沒有使用這個方法,原因:不能生成日志文件,不知道怎么實現日志文...
摘要:保存成功退出,會提示使用命令有可能報的錯誤,這時需要安裝相應的軟件包 Shell沒基礎,但是需要實現nginx日志每日切割的效果,在網上找了一些照搬都沒怎么成功,最后自己試驗出來的才是真正能用的不是嘛參考文章:https://www.cnblogs.com/kaitu... 1.在某目錄下創建需要定時執行的腳本 # cd /etc/nginx/mylogs 2.創建腳本名為cut-l...
閱讀 3301·2021-10-11 11:08
閱讀 4441·2021-09-22 15:54
閱讀 922·2019-08-30 15:56
閱讀 877·2019-08-30 15:55
閱讀 3550·2019-08-30 15:52
閱讀 1360·2019-08-30 15:43
閱讀 1944·2019-08-30 11:14
閱讀 2514·2019-08-29 16:11