Как мне узнать живой ли хост? Т.е. меня бы устроило проходят пинги или нет, но результат мне нужен только в 2 варианта да/нет, что бы я потом его мог бы сравнить в скрипте #!/bin/sh. OS FreeBSD 5.1. Как это можно сделать?
Результат команды ping перенаправь во временный файл, в...17.09.04 09:01 Автор: sk_lif Статус: Незарегистрированный пользователь
> Как мне узнать живой ли хост? Т.е. меня бы устроило > проходят пинги или нет, но результат мне нужен только в 2 > варианта да/нет, что бы я потом его мог бы сравнить в > скрипте #!/bin/sh. OS FreeBSD 5.1. Как это можно сделать? Результат команды ping перенаправь во временный файл, в скрипте проанализируй содержимое файла, потом удали его.
> > Как мне узнать живой ли хост? Т.е. меня бы устроило > > проходят пинги или нет, но результат мне нужен только > в 2 > > варианта да/нет, что бы я потом его мог бы сравнить в > > скрипте #!/bin/sh. OS FreeBSD 5.1. Как это можно > сделать? > Результат команды ping перенаправь во временный файл, в > скрипте проанализируй содержимое файла, потом удали его.
Остановился вот на чем
pid=`ping -c 2 -s 1000 ХХХ.ННН.ЯЯЯ.ССС | grep ms`
if test "X${pid}" = "X" ; then
Конечно пахать на Мерседесе ... не есть правильно17.09.04 10:54 Автор: TARASA <Taras L. Stadnik> Статус: Member
> > > Как мне узнать живой ли хост? Т.е. меня бы Конечно пахать на Мерседесе ... не есть правильно
но посмотри в сторону www.nagios.org
P.S в /usr/ports ... оно есть
достаточно проверять $?17.09.04 10:54 Автор: ZaDNiCa <indeed ZaDNiCa> Статус: Elderman
rtt - часть строки, которая есть в выводе ping если хост ответил хотя бы на один запрос, к примеру
ping -c 1 10.0.0.3
PING 10.0.0.3 (10.0.0.3) 56(84) bytes of data.
64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=0.243 ms
--- 10.0.0.3 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.243/0.243/0.243/0.000 ms
---
если хост в дауне этой строки не будет
$? - код выхода команды grep, 0 - совпадение найдено, 1 - нет (man grep)
-eq - сравнение для целых чисел (man test)