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