一、实现思路
注意!本Bat脚本不具备读取空行能力,使用本脚本前请把Nginx配置文件里的空行删除掉
1、使用Windows定时任务,定时执行bat脚本
2、bat脚本,逐行读取Nginx的配置文件,通过匹配字符串的方式,找到日志配置行,修改。
3、然后杀完Nginx进程,启动Nginx。就达到了配置日志的目的。
4、不使用reload的原因,生效太慢。猜想是因为项目是用的是TCP负载均衡,连接没断完,一直保留旧进程的原因
二、bat脚本
::关闭输出
@echo off
::配置文件的绝对路径
set nginxPath=C:\Users\Administartor\Desktop\nginx-1.18.0
set confPath=%nginxPath%\conf\nginx.conf
set backDicPath=%nginxPath%\confBack
::中间文件
set confPathTemp=%cd%\nginx.conf1
set CurrentDate=%date:~0,4%-%date:~5,2%-%date:~8,2%
set ReplaceFlag=error_log
set errorLog=error_log logs/%CurrentDate%.log;
::创建备份文件夹
if not exist %backDicPath% md %backDicPath%
::备份
copy %confPath% %backDicPath%\%CurrentDate%.conf
::循环配置文件,写入到新的文件里
for /f "delims=[" %