ラズベリーパイがインターネットに接続したらすぐにスクリプトを実行する必要があります。しかし、毎分Googleをpingするよりも良い方法があるかどうか疑問に思います。
私の問題は、1日間インターネット接続が1〜2回切断されることです。したがって、そのようなイベントを記録する方法が必要です。
これは日中にADSLが落ちた場合に過ぎず、私が気づいていなくても、このようなことが起こったことを記録する方法を探していました。提案どおりにスクリプトを設定します。
ベストアンサー1
あなたは確認できます:
cat /sys/class/net/wlan0/carrier
wlan0は私のインターネットインターフェースです。 eth0、eth1、wlan0など、使用しているインターフェイスを使用してインターネットに接続できます。このコマンドの出力が1の場合は接続されます。それ以外の場合は動作しません。したがって、次のスクリプトを作成できます。
#!/bin/bash
# Test for network conection
for interface in $(ls /sys/class/net/ | grep -v lo);
do
if [[ $(cat /sys/class/net/$interface/carrier) = 1 ]]; then ; echo "online"; fi
done
次のコマンドを使用することもできます。
#hwdetect --show-net
このスクリプトもよく実行されます。
#!/bin/bash
WGET="/usr/bin/wget"
$WGET -q --tries=20 --timeout=10 http://www.google.com -O /tmp/google.idx &> /dev/null
if [ ! -s /tmp/google.idx ]
then
echo "Not Connected..!"
else
echo "Connected..!"
fi