Консультация № 174785
02.12.2009, 22:01
0.00 руб.
0 11 2
Добрый день!
Возникла следующая задача:
Необходимо тестировать соединение (ping) с каким-либо узлом а, в случае разрыва связи, записать об этом в лог-файл( параметр >>c:\log.txt) и выслать сообощение на другой хост (net send host Connecting failed).
Как это сделатиь в виде bat файла? Просто не получается у меня, помогите пожалуйста.


п.с отблагодарю $

Приложение:
WinXP sp2
WinServer 2003 sp2

Обсуждение

Неизвестный
02.12.2009, 22:28
общий
это ответ
Здравствуйте, Lemark!
А зачем изобретать велосипед? Есть масса утилит, реализующих это. Вот, например, краткий список:
http://www.netdocs.ru/software/section.php?SHOWALL_3=1&ID=227
Батником это врядли осуществимо. Или написать батник, который пингует и записывает результат и запускать его какой-нибудь сторонней утилитой раз в пять минут, например.
давно
Модератор
137394
1850
02.12.2009, 23:45
общий
это ответ
Здравствуйте, Lemark.
Код:
Echo Off

Set Ip=172.218.201.119
Set Kuda=E:\Delete\Ping.log

ping -n 1 -l 2048 %Ip%

IF %ERRORLEVEL%==0 GoTo End

Set Mess=%Ip% %Date% %Time% No Connect

Echo %Mess% >>%Kuda%
Net Send /Domain:Куда_сообщаем %Mess%

:End


ip-адресс, адрес log-файла, Net Send настройте под свои условия.
При необходимости проделывать это периодично, поставьте исполнение bat-файла в назначенные задания.
5
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
03.12.2009, 00:10
общий
А нельзя ли в этом bat листинге вставить оператор goto для перехода вновь на строку с командой ping? Чтобы команда выполнялась до тех пор, пока ее не прервут вручную. Ну или указать n-ое количество операций выполнения, или что еще лучше - дату окончания.
давно
Модератор
137394
1850
03.12.2009, 10:38
общий
Конечно можно, но в этом конкретном решении не нужно и даже вредно - зачем непрервыно грузить сеть неизвестно чем, да еще и при отсутствии ответа от пингуемого узла получить log-файл размером во всё свободное место диска.
Я предлагал Вам решение - вставить батник в назначенное задание.
Панель управления - Назначенные задания - Добавить задание - Далее - Обзор - Находите свой батник -
- Ставите птичку "Выполнять задание ежедневно" - Выставляете время начала - Вводите имя и пароль пользователя, от чьего имени выполняется задание,
Далее Ставим птичку на Установить дополнительные ... - Расписание - Повторять задание -Каждые, например, 5 мин, Выполнять до - Указать время - ОК

Не помню,было или есть в какой-то версии ОС команда задержки выполнения батника на определённое время.
Для моей XP в Help я её не нашёл.
С помощью этой команды можно было бы обойтись и простым GoTo.
Можно, конечно, изобрести задержку самому, заставив компьютер делать какую-то никому ненужную работу. Но меня это не прельщает.

Что, очевидно, не может понравиться- Вы будете видеть на компьютере с этим заданием окно вывода батника.
Есть другое решение - вызывать этот батник из js или vbs скрипта, который скроет окно вывода. Опять же, там можно организовать цикл по времени, не используя назначенные задания.
Когда-то я отвечал на подобный вопрос и где-то похожий скрипт у меня лежит. Но это уже выходит за рамки заданного вопроса.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
давно
Модератор
137394
1850
03.12.2009, 10:42
общий
Кстати, для сведения, никогда не называйте bat-файлы именами, совпадающими с другим исполнимым файлом или командой, особенно если эта команда поминается у Вас в bat-файле. Например, назвав вышеприведенный батник ping.bat получите коллизию, когда батник будет вызывать сам себя, но никак не команду ping.
Об авторе:
Понеже не словес красных бог слушает, но дел наших хощет
Неизвестный
03.12.2009, 14:33
общий
Lemark:
у меня pppoe виснет переодически - спасибо провайдеру, но связь не рвет, пришлось сделать вот так вот

Код:
@echo off
echo Veryfing connections
:start
ping -n 1 ns.sura.ru | find /i "число" >nul & if errorlevel 1 (goto reset) else (goto exit)

:reset
echo %date% %time% -- Trouble, reconnect -- >> pinger.log
rasdial vt /disconnect
rasdial vt login pass
echo %date% %time% -- re-Ping -- >> pinger.log
goto start

:exit
echo %date% %time% -- Connected, exit -- >> pinger.log
echo WEL DONE!
echo BY!


файл сценария пихаем в планировщик
немного модифицировав - получите код под свои нужды

лог потом показываю прову, когда он мне говорит что "у вас все нормально"... до сих пор руками разводят..
Неизвестный
03.12.2009, 14:35
общий
Lemark:
п.с отблагодарю $


а что тогда вопрос не платный ?
Неизвестный
05.12.2009, 13:36
общий
Цитата: 103
• 03.12.2009, 14:35 :: Star Wolf, Мастер-Эксперт пейджер | цитировать

Lemark:

© Цитата:
п.с отблагодарю $


а что тогда вопрос не платный ?

Потому что мне, как покупателю услуги, хочется оплатить за факт, а не за вероятность оказания этой услуги. Если ответ устравивает, я сам оплачу ответ именно тому, кто его заслуживает. А при подаче сразу платного вопроса, меня этого права лишают.
То, что сайт сделался платным, только огорчает. С другой стороны, дело должно приносить прибыль, это тоже понятно. Просто не люблю когда заставляют платить, я всегда оплачивал хорошие ответы на свои вопросы. Все те же 35 рублей или больше.
Ну и самое главное - в тот момент просто не было денег на кошельке. Пришлось ждать "социального" окна.
В любом случае вся эта демагогия выходит за рамки этого вопроса.

п.с Интересно, а какие еще соцпакеты вы предоставляете малоимущему населению?
Неизвестный
05.12.2009, 14:25
общий
Lemark:
а помог хоть кто-то?
Неизвестный
05.12.2009, 15:08
общий
Цитата: 103
• сегодня, 14:25 :: Star Wolf, Мастер-Эксперт пейджер | цитировать

Lemark:
а помог хоть кто-то?


Да, помогли. Были даже потрясающее ответы, что говорит о том, что здесь есть настоящие профессоналы. И отвечали бесплатно.
Денег давал, ну может им приятно будет их получить. Кто их знает. Люди разные бывают, кто то может только ради 35 рублей ответит, а кто то даром, так как "не сломается".
Неизвестный
07.12.2009, 12:31
общий
[size=1]Ответ перенесён в мини-форум:[/size]

Здравствуйте, Lemark.
Маршрутизаторы: краткий справочник по терминологии и функциям
http://www.thg.ru/network/20040225/index.html

Управление сетями. Правила системного администратора
http://www.coders-library.ru/news-view-187-word-%D1%81%D0%BE%D0%B5%D0%B4%D0%B8%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F.html

Борис Леонтьев. Тонкости, хитрости и секреты Internet
http://lib.ru/TECHBOOKS/LEONTIEV/internet.txt_Ascii.txt

Администрирование баз данных
http://starcat.dp.ua/doc/mysql-4.0-ru/mysql-database-administration.html
http://linuxland.itam.nsc.ru/misc/mysql-manual/manual.ru_MySQL_Database_Administration.html

Ответил: Kvitenol, 5-й класс
Дата отправки: 04.12.2009, 12:50
Форма ответа