ターゲットをpingしてオンライン状態の変更のみを報告できるbashまたはpythonに事前に作成されたスクリプトはありますか?また、失敗の間に平均時間を置くことが望ましい。
答え1
ping_online_offline()
{
SECONDS=0
avg=-1
ping_log $1
while true; do
while fping -r1 -q $1; do sleep 1; done
test $avg -eq -1 && avg=$SECONDS
# Cumulative moving average for 5
let avg+=(SECONDS-avg)/5
echo "$SECONDS seconds till $(date +%T), offline moving MTBF = $((avg/60)) min $((avg%60)) sec"
SECONDS=0
while ! fping -r1 -q $1; do sleep 1; done
echo -en " $SECONDS seconds, till $(date +%T) \tonline "
SECONDS=0
done
}