編集:私の結論は、この質問が間違った場所に投稿されたことです。私解放するMac OSの特定のフォーラムではすぐに答えが出ました。
場合によっては、インターネット接続の問題が約4秒間続き、約15秒で正常に戻って再び発生することがあります。私が聞いたところによると、この問題は一度に5〜7時間続く可能性があります。これをよりよく理解し、それをインターネットサービスプロバイダに伝えたいと思います。
これまで私は次のものを使用しました。
ping 8.8.8.8 | while read line; do echo `date` - $line; done
重要なことは、毎秒ピングタイムスタンプが含まれていることです。タイムスタンプを使用して結果をプロットするスクリプトがあります。しかし、問題が週に2〜3回だけ発生するため、不要なデータがたくさん収集され、整理する必要があります。
私が望むのは、設定された時間(たとえば5〜10分)の間毎秒pingを実行し、設定された時間(たとえば5〜10分)の間一時停止することです。命令があることを知ってsleep
それを試してみましたが、目標に達していませんでした。
答え1
間隔と収集のプロパティを変更できますping
。ドキュメント(man ping
)には多くの情報が含まれていますが、そこから始めることをお勧めします。
#!/bin/sh
target=1.1.1.1 # Ping target
delay=$((60*5)) # Seconds (5 minutes)
while :
do
# Linux (GNU)
# ping -4 -q -n -c3 -i1 -w4 "$target" >/dev/null 2>&1 && st=ok || st=error
# Mac (OSX)
ping -q -n -c3 -i1 -t4 "$target" >/dev/null 2>&1 && st=ok || st=error
printf "%s - %s\n" "$(date)" "$st"
sleep "$delay"
done
pingit
のようなファイルに入れてchmod a+x pingit
。それから./pingit
。
5分ごとに3回の連続pingを送信します。成功すると「正常」とみなされ、そうでなければ「エラー」と見なされます。
while … do
別のオプションは、...loop設定を削除し、各ループで残りのdone
スクリプトを呼び出すことです。cron
窒素分。