четверг, 13 ноября 2008 г.

Логирование отсутствия/наличия интернета

Супруга попросила найти программу для Windows, которая бы в файлик писала что-то вроде
2008-11-13 13:00:00 Интернет отсутствует
2008-11-13 13:15:30 Интернет наличествует
2008-11-13 14:50:41 Интернет отсутствует
2008-11-13 16:11:09 Интернет наличествует
дабы можно было к провайдеру предъявлять справедливые требования, не особо напрягаясь слежением...
Программу я не нашёл. Что нашел - требовало денег, дополнительных движений, несло внутрях ненужный функционал. Поэтому взял в руки текстовый редактор и написал:

@echo off
rem УСТАНОВИТЬ СЮДА НУЖНЫЕ ДАННЫЕ
set HOST2PING=ya.ru
set LOGFILE=C:\ping.log
rem **********************************************************************************************************

rem начальное значение статуса (неизвестно)
set STATUS=UNKNOWN
echo %date% %time% ** START LOGGING, HAVE A NICE DAY *** >>%LOGFILE%
cls
echo %date% %time% ** START LOGGING, HAVE A NICE DAY ***

:start
rem пингуем, если не пингуется, переходим по метке
ping -n 5 %HOST2PING% >nul
set RET=%ERRORLEVEL%
if %RET%==1 goto offinet

:oninet
rem интернет имеецо
echo %date% %time% All Ok!
if not %STATUS%==YES goto logconnect
goto start

:offinet
rem интернета нема
echo %date% %time% Have troubles :(
if not %STATUS%==NO goto logdisconnect
goto start

:logdisconnect
rem пишем разово, что нет связи
set STATUS=NO
echo %date% %time% #disconnect# >>%LOGFILE%
goto start

:logconnect
rem пишем разово, что появилась связь
set STATUS=YES
echo %date% %time% $connect normal$ >>%LOGFILE%
goto start
blog comments powered by Disqus