Linux(Ubuntu)で、インターネットに接続されているかどうか(またはeth0が接続されているかどうか)をプログラムで確認したいと思います。
これを行っているのは、接続が失われる可能性が非常に高いシステムでネットワーク接続を必要とするプログラムを作成しているためです。
ですから、定期的に実行して確認できるスクリプトを考えていました。
良い提案をいただけますか?
Linux(Ubuntu)で、インターネットに接続されているかどうか(またはeth0が接続されているかどうか)をプログラムで確認したいと思います。
これを行っているのは、接続が失われる可能性が非常に高いシステムでネットワーク接続を必要とするプログラムを作成しているためです。
ですから、定期的に実行して確認できるスクリプトを考えていました。
良い提案をいただけますか?
これがあなたが望むことを達成する簡単なスクリプトです:
EMAIL=youremail@something.com
ping -c 5 8.8.8.8 >> /dev/null
if [ $? -eq 0 ]
then
echo "Able to reach internet!" | mail $EMAIL
else
echo "Unable to reach internet!" | mail $EMAIL
fi
明らかに、あなたはあなたの目標が編集であることに応じて何か他のことをするためにメールを変えることができます:説明するために、これはあなたが接続されていることを確認するためにグーグルdnsサーバーにpingし、あなたに何らかの方法でメールを送ります。もちろん、障害が発生した場合の電子メール部分は、ネットワーク上にローカルの電子メールサーバーがある場合にのみ機能します。
/sbin/ifconfig
スクリプトを作成するための優れた「アダプタステータスの取得」コマンドになります。
cron
スクリプトを実行するための優れた方法になります。
ping
また、離れたサーバー(できれwget
ば接続したいサーバー)に提案します。ネットワークはローカルキャンパスではうまく機能する可能性がありますが、大陸間接続ではうまく機能しません(たとえば、一部のケーブルが切断されているため)。