Блог им. post-factum → aping — оболочка для ping
Сталкиваясь с проблемами администрирования сети, понял, что стандартная команда ping не всегда выручает. Столкнувшись с задачей определения количества потерянных пакетов без прерывания процесса мониторинга, определения времени между пропаданием пакетов (из-за проблем с коммутатором приходилось выяснять и такое) и уменьшения захламленности экрана, решил написать собственный скрипт.
На красоту и уникальность кода не претендую, но скрипт поставленные задачи выполняет. Замечу, что используется он не для оценки задержек, а для проверки прохождения пакетов вообще.
Комментарии, замечания, пожелания приветствуются.
#!/usr/bin/env bash
number=0
successed=0
failed=0
timeout=1
if [ -$1 == - ]
then
echo "Usage: `basename $0` <host>"
exit 1
fi
host $1 >/dev/null 2>&1
if [ $? != 0 ]
then
echo "Unknown host: $1"
exit 2
fi
while true
do
((number++))
echo -n "[#$number, `date +%H:%M:%S`, ok: $successed, fail: $failed] pinging $1 (`host $1 | head -n 1 | awk '{print($NF)}'`)... "
ping -c 1 -q -W $timeout $1 >/dev/null 2>&1
if [ $? == 0 ]
then
((successed++))
echo -n "OK"
echo -n -e '\r'
else
((failed++))
echo "FAIL"
fi
sleep 1
done
На красоту и уникальность кода не претендую, но скрипт поставленные задачи выполняет. Замечу, что используется он не для оценки задержек, а для проверки прохождения пакетов вообще.
Комментарии, замечания, пожелания приветствуются.
- +7
- post-factum
- 01 июля 2010, 16:40
Комментарии (4)
- hobbeat
- 01 июля 2010, 20:02
- #
- ↓
- 0
- post-factum
- 01 июля 2010, 20:45
- #
- ↑
- ↓
- 0
Не совсем отвечает поставленной задаче.
- fog
- 01 июля 2010, 21:14
- #
- ↑
- ↓
- 0
А все равно post-factum молодец. :-)
- yury
- 03 июля 2010, 14:55
- #
- ↓
- 2
Скрипт что надо. Иногда требуется подобная функциональность :)