インターネットが稼働しているかどうかを毎分チェックする cron ジョブを入れるには、Bash (またはプレーン シェル) スクリプトが必要です。
これが私がやった方法です:
#! /bin/sh
host1=google.com
host2=wikipedia.org
curr_date=`date +"%Y%m%d%H%M"`
echo -n "${curr_date};"
((ping -w5 -c3 $host1 || ping -w5 -c3 $host2) > /dev/null 2>&1) &&
echo "up" || (echo "down" && exit 1)
どのようにしますか?どのホストに ping を送信しますか?
説明:
「インターネットが稼働中」とは、インターネット接続 を意味します。
「アップ」とは、接続が使用可能であることを意味します (DNS がダウンしていることについて話しているのか、接続が本当に遅いのか [
-w
タイムアウトに注意してください])。これが、IP を含めずにホストのみを含めた理由でもあります。
Stack Overflow にも ping を実行する必要がありますか? つまり、Google、Wikipedia、または Stack Overflow にアクセスできない場合、インターネットは必要ありません :p