BATCH SCRIPT - 重新启动服务的数据日志增长

问题描述 投票:0回答:1

我有一个脚本来停止和启动IIS服务,在这个脚本中,它将定义日志和目录。创建的日志是增长文件,因为它具有相同的名称目录(下面的代码):

@ECHO About to stop the StackProcess
cd %windir%\system32\inetsrv 
appcmd stop apppool /apppool.name:StackProcess
echo %date% %time% - Service Stopped Successfully > C:\Logs\StackProcess_IISrestart.log
@ECHO StackProcess Stopped

TIMEOUT /t 05 /nobreak

@ECHO StackProcess
cd %windir%\system32\inetsrv 
appcmd start apppool /apppool.name:StackProcess
echo %date% %time% - Service Restarted Successfully > C:\Logs\StackProcess_IISrestart.log
@ECHO StackProcess Restarted

我的下一步是创建一个日志文件,该文件将根据时间戳命名,如“StackProcess IIS restart -YYYYMMDD”,此日志文件也将增长。

echo off
set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~4,2%
set CUR_DD=%date:~7,2%

set SUBFILENAME=StackProcess%CUR_YYYY%%CUR_MM%%CUR_DD%

@ECHO About to stop the StackProcess
cd %windir%\system32\inetsrv 
appcmd stop apppool /apppool.name:StackProcess
echo %date% %time% - Service Stopped Successfully > C:\Logs\%SUBFILENAME%.log
@ECHO StackProcess Stopped

TIMEOUT /t 05 /nobreak

@ECHO StackProcess
cd %windir%\system32\inetsrv 
appcmd start apppool /apppool.name:StackProcess
echo %date% %time% - Service Restarted Successfully > C:\Logs\%SUBFILENAME%.log
@ECHO StackProcess Restarted

但是这个代码仅适用于文件将覆盖现有文件的情况,这意味着日志文件不会在当天增长。当我希望它增长而不是这个时,有什么我想念的代码吗?帮帮我,谢谢。

batch-file
1个回答
1
投票

如果我理解正确,您似乎无法理解重定向运算符的工作原理。 >从新的>>开始追加。只需更改为适当的操作员即可解决您的问题。

@Echo Off
Set "log="
For /F "Tokens=1-3Delims=/ " %%A In ('RoboCopy/NJH /L "\|" Null'
)Do If Not Defined log Set "log=StackProcess%%A%%B%%C.log"

Echo Stopping the StackProcess
"%__AppDir__%InetSrv\AppCmd.exe" Stop AppPool /apppool.name:StackProcess
Echo %DATE% %TIME% - Service Stopped Successfully>"%log%"
Echo StackProcess Stopped
Timeout 5 /NoBreak>Nul

Echo Starting the StackProcess
"%__AppDir__%InetSrv\AppCmd.exe" Start AppPool /apppool.name:StackProcess
Echo %DATE% %TIME% - Service Restarted Successfully>>"%log%"
Echo StackProcess Restarted
Timeout 2 /NoBreak>Nul

请注意,虽然我可能在上面的示例中做了一些改进,但您正在记录“成功”消息,而没有实际验证启动和停止过程是否成功。我将留给您决定是否要扩展您的代码以满足此类验证。

© www.soinside.com 2019 - 2024. All rights reserved.