ScreamWolf
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору @echo off set "report=report.txt" set h1=18 set h2=9 set m1=0 set m2=0 set s1=0 set s2=0 set timesleep=30 set /a TimeInSec1=(%h1%*60+%m1%)*60+%s1% set /a TimeInSec2=(%h2%*60+%m2%)*60+%s2% set /a timesleep+=1 set /a MASS=0 set /p "NumberOfServers=Сколько серверов?" for /l %%a in (1,1,%NumberOfServers%) do ( set /p "ServerName_%%a=Введите имя %%a-го сервера" ) (echo %date% %time:~0,8% Запуск проверки) 1>>%report% start hs_message.exe "Server Controll ONLINE - ЗАПУЩЕН c %h2%:%m2%:%s2% до %h1%:%m1%:%s1% таймаут:%timesleep%сек" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK :scan for /f "tokens=1,2,3 delims=:" %%a in ("%time:~0,8%") do (set hh=%%a) & (set mm=%%b) & (set ss=%%c) set /a TimeInSec=(%hh%*60+%mm%)*60+%ss% if %TimeInSec% GEQ %TimeInSec1% (goto :stop) if %TimeInSec% Lss %TimeInSec2% (goto :stop) for /f "tokens=1* delims==" %%h in ('set ServerName') do ( ping -n 1 "%%i" | find /i "TTL=" 1>nul 2>&1 if %errorlevel% 1 ( (echo %date% %time:~0,8% Сервер %%i - недоступен) 1>>%report% call ffline "%%i" ) else ( (echo %date% %time:~0,8% Сервер %%i - доступен) 1>>%report% ) ) ping -n %timesleep% localhost 1>nul 2>&1 goto :scan ffline if MASS==0 (start hs_message.exe "Сервер %~1 не доступен (не виден в сети)! Проверьте сетевые подключения сервера!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" E OK) set /a MASS=1 goto :EOF :stop (echo %date% %time:~0,8% Остановка проверки) 1>>%report% start hs_message.exe "Server Controll ONLINE - ОСТАНОВЛЕН по истечению времени!" "!!!ВНИМАНИЕ!!! *** %date% %time:~0,8%" I OK goto :EOF | Всего записей: 197 | Зарегистр. 15-05-2009 | Отправлено: 09:32 10-06-2009 | Исправлено: ScreamWolf, 10:01 10-06-2009 |
|