![온라인 상태 변경](https://linux55.com/image/86402/%EC%98%A8%EB%9D%BC%EC%9D%B8%20%EC%83%81%ED%83%9C%20%EB%B3%80%EA%B2%BD.png)
대상을 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
}