Войти

Показать полную графическую версию : Батник для проверки доступности серверов...


Bara1gin
02-11-2015, 11:33
Есть программа имеющая постоянное интернет соединение с определенный серверами и периодически они перестают быть доступными после чего прога висит.
Нужен батник для проверки пинга с переодичностью 15 минут и при его отсутствии перезапускала прогу (с завершением процесса).

Буду очень признателен за помощь! :Beer:

Elven
02-11-2015, 12:37
Например так, если я правильно понял о чем речь.
@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
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




© OSzone.net 2001-2012