私はRaspberry PIをマシンのクロッキングとして使用しています。
イーサネットインターフェイスは数時間おきに1日おきにダウンします。
これはマシンのクロッキングとして設定した2番目の桁です。元のものでは、ワイヤレスを使用し、同じ問題がワイヤレスインターフェイスで発生しました。無線LANの問題で、あなたはUSB無線LANアダプターを取り外して、それをソートするために再び接続することができます。しかし、私はイーサネットスロットにアクセスできないので、新しいpiでpiケースを開くことができません。netがダウンしたときにbashを使用してRaspberry PIインターフェイスを自動的に再起動する
計画は、cronでスクリプトを使用して10分ごとに実行することです。
このため、私はスクリプトを使ってインターフェイスを再起動しました。このスクリプトのアイデアはゲートウェイをpingすることです。応答が受信されない場合、piはインタフェースeth0でIFDOWNを実行し、次にIFUPを実行する必要があります。これに失敗した場合は、再起動する必要があります。しかし、私が試したすべてのスクリプトは失敗しました。
#!/bin/bash
function pingf1 {
ping1=$(ping -c 1 10.0.0.1)
ping1result=$?
echo $ping1result
if [ $ping1result -eq 1 ]
then
sudo /sbin/ifdown eth0 #or wlan0 if using on old clocker
sudo /sbin/ifup eth0 #or wlan0 if using on old clocker
fi
}
pingf1
exit
、私はこのポストは、おそらく重複ポストとしてマークされることを承知していますが、私はすでに、スタック交換上のさまざまなソリューションの多くを試してみましたし、どれものために働いている:現在、私は次のスクリプトを使用しています私。
に指定しない限り、それはパスワードの入力を求めるデフォルトで以来、あなたはsudoを含める必要はありませんので、あなたのcronジョブは、ルートを介して実行されていることを確認しますが、 'sudoを/ sbinに/ ifdownをeth0'ず、 'sudo/sbin/ifup eth0'は期待どおりに動作しますか? – andlrc
私はあなたのスクリプトがrootで実行されず、これらのコマンドがパスワードを要求するかもしれないことを示唆しています。 – andlrc
@andlrcはい私がsudo/sbin/ifdown eth0を実行すると動作します。スクリプトを手動で実行すると、パーミッションにエラーがありません。もし私が/ sbin/ifdownを置かないなら、スクリプトを実行するとスクリプトが動かない。私はエラー報告を受け取ります。 –