Ето и моите (не знам там колко бяха) цента
ping-peers скрипт, който се стртира през cron
----------------------------------------------------------------
#!/bin/bash
#ping-peers script
P=`ping -c60 -W60 $1|egrep rtt\|%`
TST=`echo $P|grep "errors"`
if [ -z "$TST" ]
then
LOSS=`echo $P|cut -d"%" -f1|cut -d" " -f6`
AVG=`echo $P|cut -d" " -f14|cut -d"/" -f2|cut -d"." -f1`
else
LOSS=`echo $P|cut -d"%" -f1|cut -d" " -f8`
if [ "$LOSS" -eq 100 ]
then
AVG=' '
else
AVG=`echo $P|cut -d" " -f16|cut -d"/" -f2|cut -d"." -f1`
fi
fi
echo "$AVG|$LOSS|`date +'%D %H:%M:%S'`" >> $2
----------------------------------------------------------------
а ето и реда в /etc/cron.d/ping-peers
0-59/1 * * * * root /usr/local/sbin/ping-peer IP_адреса_който_се_пингва /var/log/ping-лог_файла_за_този_адрес.log
А ето и вида на лог-файла:
1|0|08/17/08 13:14:59
1|0|08/17/08 13:16:00
1|1|08/17/08 13:17:00
1|0|08/17/08 13:18:00
2|0|08/17/08 13:18:59
1|0|08/17/08 13:20:00
1|0|08/17/08 13:20:59
1|0|08/17/08 13:21:59
1|0|08/17/08 13:23:00
1|45|08/17/08 13:24:00
|100|08/17/08 13:25:59
|100|08/17/08 13:26:59
|100|08/17/08 13:28:00
506|96|08/17/08 13:28:02
113|55|08/17/08 13:29:03
2|0|08/17/08 13:29:59
2|0|08/17/08 13:30:59
1|0|08/17/08 13:32:00
1|0|08/17/08 13:32:59
4|0|08/17/08 13:34:01
Верно е, че е по-малко информативен от варианта на VladSun, но пък за сметка на това скриптът е по-прост.
P.S. Скриптът е писан за рутер с Debian - за други дистрибуции форматът, връщан от командата PING, може да е по-различен, така че имайте едно наум.