|
Написание батника на создание лога пингов и ошибок с временем и датой | ☑ | ||
---|---|---|---|---|
0
LastSoldier
07.08.17
✎
19:52
|
Пытаюсь написать батник, но никак не могу вывести в логфайл дату и время.
echo off set IP="ya.ru" set Logtest="C:\log_test.txt" date /t > %Logtest% echo %TIME:~,-3% > %Logtest% & ping %IP% > %Logtest% pause Скажите в чем проблема? В лог пишется только команда ping |
|||
1
Looking
07.08.17
✎
20:00
|
А чем ПО PingPlotter не устраивает?
|
|||
2
Имитация работы
07.08.17
✎
20:11
|
(0) Потому что перенаправление одним уголком перетирает файл. Используй два.
|
|||
3
LastSoldier
07.08.17
✎
20:16
|
(1) наверно тем что на каждый комп надо ставить еще стороннее ПО.
(2) спс за подсказку, я получается просто все перезаписывал командой ping) Дальше вот в цикле пытаюсь добавить в начало строки "Ответ от 87.250.250.242: число байт=32 время=38мс TTL=53" время, но батник вообще не отрабатывает. Где в цикле проблема? echo on set IP="ya.ru" set Logtest="C:\log_test.txt" echo %DATE%-%TIME:~,-3% > %Logtest% FOR /f "tokens=1*" %%i IN ('ping %IP%') DO ( echo %TIME:~,-3% >> %Logtest% & ping %IP% >> %Logtest%) %%i ::echo %TIME:~,-3% >> %Logtest% & ping %IP% >> %Logtest% pause |
|||
4
LastSoldier
07.08.17
✎
20:57
|
Все работает, да не очень правильно, мне надо чтобы пинговалось один раз в секунду, а оно раз 10 в одну секунду пингует
echo on set IP="ваваa.ru" set Logtest="C:\log_test.txt" echo %DATE%-%TIME:~,-3% > %Logtest% @:begin FOR /f "tokens=1*" %%i IN ('ping -n 1 %IP%^| findstr /i "TTL Превышен"') DO set n="%%i %%j" @if defined n (goto log) set n="The disconnection">> %Logtest% @:log echo %n% echo %TIME:~,-3% %n% >> %Logtest% @goto begin pause |
|||
5
LastSoldier
07.08.17
✎
20:59
|
(4) это пример для ошибки пинга, вместо "set IP="ваваa.ru"" вот это "set IP="ya.ru""
|
|||
6
LastSoldier
07.08.17
✎
21:27
|
Как поставить задержку между пингами?
|
|||
7
Fram
07.08.17
✎
21:39
|
(6) timeout
|
|||
8
Йохохо
07.08.17
✎
21:49
|
ping /?
|
|||
9
LastSoldier
07.08.17
✎
23:32
|
(7) спс, то что надо.
Теперь надо разбить результат на два файла, в одном пишется пинг, а в другом только разрывы. echo on set IP="ya.ru" set Logbad="C:\log_bad.txt" set Logok="C:\log_ok.txt" echo %DATE%-%TIME:~,-3% > %Logok% echo %DATE%-%TIME:~,-3% > %Logbad% @:begin FOR /f "tokens=1*" %%i IN ('ping -n 1 %IP%^| findstr /i "TTL Превышен"') DO set n="%%i %%j" @if defined n (goto log) set n="The disconnection" echo %n% echo %TIME:~,-3% %n% >> %Logbad% @goto begin @:log echo %n% echo %TIME:~,-3% %n% >> %Logok% TIMEOUT /T 1 @goto begin |
|||
10
LastSoldier
07.08.17
✎
23:35
|
Результат действия этого батника такой:
Он пишет первый дисконнект в файл %Logbad%, а все остальные дисконнекты файл %Logok%. Не могу найти где ошибся |
|||
11
LastSoldier
07.08.17
✎
23:52
|
добавил строку
set n= ниже echo %TIME:~,-3% %n% >> %Logbad% Вроде все работает |
|||
12
LastSoldier
07.08.17
✎
23:55
|
Только я не могу понять прикола, почему когда я отключаю сетевую карту, пинговаться яндекс все равно продолжает
Это как так? |
|||
13
LastSoldier
08.08.17
✎
00:20
|
(8) Если Вы про -w 1000, то это не работает
|
|||
14
LastSoldier
08.08.17
✎
12:37
|
echo off
set IP="ya.ru" set Logbad="C:\log_bad.txt" set Logok="C:\log_ok.txt" echo %DATE%-%TIME:~,-3% > %Logok% echo %DATE%-%TIME:~,-3% > %Logbad% @:begin set n= FOR /f "tokens=1*" %%i IN ('ping -n 1 %IP%^| findstr /i "TTL Превышен"') DO set n="%%i %%j" @if defined n (goto log) set n="The disconnection" echo %n% echo %TIME:~,-3% %n% >> %Logbad% @goto begin @:log echo %n% echo %TIME:~,-3% %n% >> %Logok% TIMEOUT /T 1 @goto begin если кому надо, это уже рабочий вариант |
|||
15
Тихий омут
08.08.17
✎
12:56
|
(14) спасибо, как раз актуально
|
|||
16
Злопчинский
08.08.17
✎
12:58
|
Ой, у меня сисадмин как-то проще сделал, выйдет из отпуска - попытаю если не забуду
|
|||
17
Вафель
08.08.17
✎
13:10
|
переходи на js )))
|
|||
18
LastSoldier
09.08.17
✎
21:09
|
(17) в смысле на js переходи?
Я js на работе вообще никому не ставлю кроме бухгалтера, для работы с банком. (16) буду рад посмотреть другие варианты |
|||
19
Lama12
09.08.17
✎
21:18
|
(18) js Ява скрипт. Он в Винде есть по умолчанию.
|
|||
20
mistеr
09.08.17
✎
21:45
|
(14) "bad" — это не только таймаут. Еще бывают потери пакетов (не пингов, а других), неприемлемое время отклика, дисконнект кабеля (при котором VPN остается connected) и т.д. и т.п. Как все будешь анализировать?
|
|||
21
LastSoldier
11.08.17
✎
09:28
|
(20) Батник показывает обрывы:
1)При отключении кабеля 2)При превышении интервала ожидания 3) "дисконнект кабеля (при котором VPN остается connected)"- не знаю как у Вас, но у меня при дисконнекте кабеля VPN не остается connected. Это то же учитывается Единственные, что это не показывается, это какая причины разрыва была. Большой пинг я не учитываю вообще. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |