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