在windows實現nginx滾動日誌

nginx自身並不可以切分或滾動日誌,所以只能用一個bat腳本按天切割日誌,並刪除三天前的日誌nginx

@echo off
rem nginx滾動日誌
rem nginx工做目錄
set workspace=D:\luozixi\nginx-1.16.0
rem 日誌存放目錄
set logdir=D:\luozixi\nginx-1.16.0\logs
rem 將當前日誌重命名,用今日的日期
move %logdir%\access.log %logdir%\access_%date:~0,4%_%date:~5,2%_%date:~8,2%.log
move %logdir%\error.log %logdir%\error_%date:~0,4%_%date:~5,2%_%date:~8,2%.log
rem 從新打開日誌文件,若是不作這一步,nginx會繼續往已被重命名的日誌文件中寫入日誌
%workspace%\nginx.exe -s reopen -p %workspace%
rem 刪除三天前的日誌
set DaysAgo=3
forfiles /p %logdir% /m *.log /d -%DaysAgo% /c "cmd /c del /f /q @path"
pause

而後將此bat腳本加到windows定時任務,天天凌晨執行windows

%date:~0,4%_%date:~5,2%_%date:~8,2%的說明:spa

C:\Users\luozixi>echo %date%
2019/06/19 週三
C:\Users\luozixi>echo %date:~0,4%
2019
C:\Users\luozixi>echo %date:~0,4%_%date:~5,2%_%date:~8,2%
2019_06_19
相關文章
相關標籤/搜索