Батник для проверки доступности серверов...
Есть программа имеющая постоянное интернет соединение с определенный серверами и периодически они перестают быть доступными после чего прога висит.
Нужен батник для проверки пинга с переодичностью 15 минут и при его отсутствии перезапускала прогу (с завершением процесса).
Буду очень признателен за помощь! :Beer:
|
Например так, если я правильно понял о чем речь.
Код:
@echo off
for /F %%n in (IP.txt) do (
ping /n 1 %%n | find /i "TTL"
if not errorlevel 1 (
echo %time% %%n online >> result.log
) else (
echo %time% %%n offline >> result.log
taskkill /im имя_процесса
ping 0.0.0.0 -w 1000 -n 5
start имя_проги
)
)
|
greg zakharov |
02-11-2015 14:06 2570738 |
Elven, если список айпишников статический, то есть не генерируется автоматически и\или не изменяется, лучше хранить его прямо в бате, а вывод пинга лучше пихать в csv:
Код:
@echo off
setlocal
for /f "delims=:" %%i in (
'findstr /nirc:"exit /b" "%~f0"'
) do set "i=%%i"
set "res=%~dp0ping.csv"
if not exist "%res%" (
echo:Time,IPAddress,Status>"%res%"
)
for /f %%i in ('more +%i% "%~f0"') do (
ping -n 1 %%i | findstr /irc:"ttl"
if not errorlevel 1 (
for /f "tokens=1 delims=," %%j in (
"%time%"
) do echo:%%j,%%i,Success>>"%res%"
) else (
del /f /q "%res%"
taskkill /im some.exe
ping -n 5 0.0.0.0 -w 1000>nul
start some.exe
)
)
endlocal
exit /b
213.180.193.3
93.158.134.3
213.180.204.3
212.188.10.99
212.188.10.104
212.188.10.94
212.188.10.89
|
Время: 10:03.
© OSzone.net 2001-