我有一個樹莓派PI,用作機器中的時鐘。
以太網接口每隔幾個小時就會關閉幾天。
這是我們在機器中設置的第二個pi。在原來的那個,它使用無線和無線接口發生同樣的問題。隨着wifi的問題,你可以拔掉usb wifi適配器,並重新插入它進行排序。但是,我無法訪問以太網插槽,我無法在新的pi上打開pi盒。當網絡出現故障時,使用bash自動重新啓動樹莓派接口
計劃是使用腳本與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
我知道這個帖子可能會被標記爲重複的職位,但我已經嘗試了很多堆棧交換不同的解決方案已經,並沒有對已經工作我。
是否'須藤/ sbin目錄/ ifdown你eth0'和'sudo/sbin/ifup eth0'按預期工作? – andlrc
我的建議是,你的腳本不能在root下運行,這些命令可能會要求輸入密碼。 – andlrc
@andlrc是的,如果我運行sudo/sbin/ifdown eth0它的作品。我手動運行腳本時沒有權限錯誤。如果我不把/ sbin/ifdown那麼腳本不起作用,當我運行它。我收到錯誤報告。 –