樹莓派保持網(wǎng)絡(luò)連接shell腳本


title: 樹莓派保持網(wǎng)絡(luò)連接shell腳本
date: 2017-02-13 09:20:06
tags: raspberry,樹莓派,shell,network


樹莓派保持網(wǎng)絡(luò)連接shell腳本

故事背景

樹莓派3b現(xiàn)在有了板載無線網(wǎng)卡,可以很方便的連接到wifi。但是無線路由器不能保證永遠(yuǎn)正常工作,由于各種原因會重啟路由。這個時候,raspberry3b就會有一定概率斷開網(wǎng)絡(luò)連接。系統(tǒng)級功能比如像手機一樣有網(wǎng)就連,斷網(wǎng)后自動重連的功能目前沒有能力實現(xiàn)。所以就想搞一個腳本檢查網(wǎng)絡(luò)連接狀態(tài),如果沒有網(wǎng)絡(luò)重啟一下。

shell腳本

   #! /bin/bash
   #檢測網(wǎng)絡(luò)連接
   log=/root/network.log
   #判斷輸出日志文件是否存在
   if [ ! -f ${log} ]
   then
      touch ${log}
   fi
   ping -c 1 192.168.1.1 > /dev/null 2>&1
   if [ $? -eq 0 ];then
       #echo `date` 檢測網(wǎng)絡(luò)正常 >> ${log}
   else
       echo `date` 檢測網(wǎng)絡(luò)異常 >> ${log}
       reboot
   fi

這個腳本基本上是ping路由地址(192.168.1.1)來判斷無線的連接狀態(tài),$?是上一條命令執(zhí)行的return值。ping通返回0,ping不通返回不是0。當(dāng)ping不通的時候?qū)懴氯罩荆缓笾貑⑾到y(tǒng)(為什么不重啟網(wǎng)絡(luò)?我是真的不在家的時間有點長,所以沒有膽量嘗試)。

定時運行

起初想用nodejs腳本定時運行,自己都覺得小題大作了。轉(zhuǎn)而尋找用shell腳本實現(xiàn)的思路。查資料后發(fā)現(xiàn)linux系統(tǒng)本身有一個cron服務(wù)(俗稱定時任務(wù))。
修改/etc/crontab文件,添加一行

*/5 *   * * *   root    bash /root/network.sh

當(dāng)系統(tǒng)時間的分鐘整除5的時候就會以root身份調(diào)用一個后面的bash /root/network.sh命令。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容