偵測網路斷線時重開機
一開始我是從這裡看到的 樹莓派自動偵測網路斷線時重開機的方法
實作使用 dos2unix 將 checkwifi.sh 改成 Unix 格式 (程式碼如下,我加入個 echo 以方便知道這個腳本有被成功運行)
ping -c4 192.168.0.1 > /dev/null
if [ $? != 0 ]
then
sudo reboot
else
echo "Ping OK !"
fi
並且直接執行後得到
表示我們是可以直接執行這個腳本的
接著使用
crontab -e
進入 Cron ,並且在最後一行中輸入
0 * * * * sudo /usr/local/bin/checkwifi.sh
然後保存退出
(我調整了時間以方面我進行測試)
最後輸入 sudo service cron restart
補充 ( 20181001) :
此處進入 crontab -e 的地方有兩個必須要注意的點
1. 目錄
你需要在剛登陸 Rpi 進去時的那個目錄底下,如果你依照上面的做法一路做下來,此時你的路徑應該是在 usr/local/bin/ ... 裡面的。若在這邊使用 crontab -e 是不會成功的
所以最簡便的方式就是重新登陸一次 Rpi 再執行 crontab -e
可參考上圖 File : 後面的路徑
2. 你不能在 sudo su 的模式下去執行 crontab -e
你的確會進入 crontab 文件沒錯,但 ! 他並不會執行
所以最好的方式仍然是你"重新" 連接一次 Rpi (關掉 putty 重開)
接著 執行 crontab -e
固定時間讓 Raspberry pi重啟
直接在 crontab 新增指令
新增的指令如下
5 22 * * * sudo -u root reroot
0 21 * * 5 sudo -u root reroot
(每週五晚上 9 : 00 分 重啟)
同樣的最後輸入 sudo service cron restart
就完成定時重啟的功能
定時執行 Python 程式碼也是可以的
只要在 croncab 裡面加入
14 22 * * * python /home/pi/python_program/PiTurnON.py
第十二章、學習 Shell Scripts
树莓派如何定时关机或定时执行任务-Cron
【樹莓派】crontab設置Linux設備定時重啟