대상을 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
}