使用Ping来检查网络连通性

树莓派使用了一个无线网卡连接家里的无线路由器,在实际使用过程中发现连续运行多天后会掉线,而且掉线后基本上就再也连不上网了,需要重启树莓派才能恢复,十分麻烦。 假设无线路由器IP是192.168.1.1,于是每隔15分钟检查一下,是否能从树莓派上ping通路由器;如果不能则重启无线网络,脚本如下: network.sh #!/bin/bash export PATH=/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin ping_count() { count=0 `timeout 5 ping 192.168.1.1 | while read LINE; do { if [[ "${LINE}" =~ "64 bytes from" ]]; then let "count = $count + 1" echo "export count=$count" fi } done` echo $count } if [[ $(ping_count) < 1 ]]; then ifconfig wlan0 ifconfig wlan0 down sleep 1 ifconfig wlan0 up sleep 1 netcfg -r wlan0-Hugo-Nas sleep 5 if [[ $(ping_count) < 1 ]]; then echo "Fatal error: wifi is down, rebooting now. [Read More]