Главная страница » Как сохранить ping в файл

Как сохранить ping в файл

  • автор:

DeePark.ru

Появилась задача записать в файл результат работы команды ping с указанием времени.

Задача возникла в следующем контексте:
В компании стоит аудиошлюз и в какой-то момент времени менеджеры сообщают что возникают проблемы со связью. Клиент слышит менеджера, менеджер не слышит клиента. Поскольку вопрос срочный, пытаемся решить его с тех поддержкой. Но поскольку в момент общения с техподдержкой всё хорошо, и по оборудованию всё работало. Они просят сообщить, как быстро отвечал их сервер в момент появления проблемы. Вот мы и сделаем так, что-бы менеджер сказал время проблемы, мы посмотрели это время в логах и сообщили, проседал канал или нет.

while true; do TIME=`date +%T`;PING=`ping 213.221.45.121 -c 1 | grep "icmp_seq=1"`; echo "[$TIME] $PING" >>/home/prg/pingtime23.04.2019.log; tail -n 1 /home/prg/pingtime23.04.2019.log;sleep 1; done

Запустили и видим что команда выполняется в консоли.

А файл то создан? Проверим:

tail —lines=10 pingtime23.04.2019.log

Да, ping пишется со временем и в консоль и в файл!

А если у нас стоит Windows? Тогда команда для записи ping в файл со временем будет такой:

for /l %i in (0,0,1) do @cmd /c "echo.|set/p=%TIME:

0,8^%" >> c:\users\userpc\pinglog23.04.2019.log & ping -n 1 213.221.45.121 | findstr "Превышен Ответ" >> c:\users\userpc\pinglog23.04.2019.log & ping -n 2 localhost > nul

Кодировка созданного файла будет IBM866, так что блокнотом не посмотреть.

Второй случай с предысторией

На самом деле история та же. Два аудиошлюза IP телефонии и проблемы со связью. Необходимо исключить проблемы со скоростью доступа к серверу аудиошлюзов. Для этого ping со временем в лог файл таким образом (Операционная Ubuntu)

ping 213.221.45.121 | while read pong; do echo "$(date): $pong"; done > pingWithTime.log

Получаем что-то типа этого:

Как результат имеем большой файл из которого нам в какой-то момент понадобится получить информацию. Как?

grep -E '(Вт авг 27 14:23)' pingWithTime.log

Так мы получим все значения ping совершённые в 14:23 и сможем произвести анализ полученных данных.

Как сохранить в текстовый файл вывод командной строки Windows

Как сохранить в текстовый файл вывод командной строки Windows

Командная строка — неизменный компонент любой операционной системы Windows, который берет свое происхождение прямиком от её предка — операционной системы MS-DOS. Данная программа имеет довольно широкие возможности, но сейчас мы поговорим о довольно примитивной вещи — сохранение (по факту — перенаправление) вывода командной строки в текстовый файл.

Использование перенаправления выполнения команд

В случае, если необходимо просто сохранить все, что вывела командная строка в текстовый файл, то нужно после введенной команды добавить символ «>», что приведет к созданию текстового файла и весь вывод командной строки отправится туда. Пример:

Как видно, командная строка не вывела никакого результата введенной команды на экран, но зато сохранила все в файл ping.txt. К сожалению, существуют ограничения перенаправления вывода, которые не позволяют одновременно отображать вывод и в окне командной строки, и сохранять их в текстовый файл. Однако, можно воспользоваться хитростью — сразу по завершению выполнения команды вывести содержимое текстового файла на экран с помощью команды type. Получится что-то следующее:

Если требуется файл не записывать (существующий текстовый файл будет перезаписан), а дописывать (существующий текстовый файл будет дополнен), нужно вместо одного символа «>» использовать два — «>>».

В случае, если в текстовый файл нужно сохранить так же какой-то текст (например, в составе bat файла), то можно воспользоваться комбинацией с командой echo:

Вывод результата пинга в файл

Оптимизировать вывод результата работы скрипта в файл
4 — Последний вопрос. Программа выводит результат работы в файл .txt, далее выполняю поиск по.

Вывод даты и результата выполнения команды pathping в файл
Добрый день! Нужен батник, который выводит в файл дату/время плюс результат выполнения команды.

Вывод в правильной кодировке в файл результата выполнения команды
понимаю что как и почему. из консоли получаем текстовик в кодировке OEM 866. а нужна windows 1251.

Поиск строчек в тексте и вывод результата в отдельный txt файл
Нужна помощь, самому мозгов не хватает разобраться и понять, прошу помощи Нужно в текстовом файле.

Сохранить вывод Ping в текстовом файле

Мне часто приходится пинговать серверы за статусом подключения. Есть ли способ сохранить результаты пинга (вывод) в текстовом файле, чтобы я мог сохранить результаты пинга за весь день в текстовом файле.

Я использую Windows XP SP3.

6 ответов 6

Используйте перенаправление, например:

Это перенаправит весь (стандартный) вывод из программы в filename.txt , который будет создан, если он не существует, и перезаписан, если он существует.

Вы можете использовать >> вместо > чтобы перенаправить вывод в файл и добавить результаты в конец файла вместо перезаписи (спасибо @Jane T за напоминание).

Обратите внимание, что вы не получите нормальный вывод на экран, если вы сделаете это.

Обновление в ответ на комментарий

Чтобы задержать пинг и записывать время каждого, вы можете сделать некоторые сценарии.

Вот быстрый пакетный файл Windows, который я создал вместе. Он печатает время, пингует Google, затем ждет 3 секунды, а затем повторяется. Я не специалист по пакетным файлам, поэтому, если кто-то обнаружит какие-либо проблемы, отметьте их! И это, вероятно, не самый лучший способ достичь того, чего вы хотите, — это действительно может привести к отдельному вопросу.

Сохраните это в файле .bat где-нибудь, отредактируйте цель ping и время задержки, как вам нужно, затем запустите .bat с помощью перенаправления, чтобы перекачать вывод всей вещи в файл.

Обратите внимание, что этот пакетный файл никогда не заканчивается, но может быть завершен с помощью Ctrl + C и затем Y, если он запускается из cmd . (Вы должны нажать Y, потому что он спрашивает, хотите ли вы остановить пакетный файл — даже если вы не видите вопрос, потому что вы перенаправили вывод!)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *