I'm Sham
一个在通往码农道路上走走停停的行政文员

ubuntu检测网络是否断开并执行程序shell脚本

因为Sham用树莓派直接通过拨号连接网络,但是不知道什么原因,有的时候会自己断网而且不会重新自己连接,所以Sham从网上找了1个脚本,通过定时执行来检测时候联网,如果没有,则重启网络服务。

因为Sham不动shell,所以只能大概猜测逻辑:

首先是通过ping百度网来判断是否联网,ping 3次,通过返回的值来判断,如果不通的话,就执行重启网络服务,如果通的话,就输出网络没问题就结束。

因为是通过宝塔面板的计划任务来定期执行的,所以脚本里是直接exit退出的,如果是直接执行的话,可以把exit 0换成sleep 60 这样来通过等待固定时间来在此执行

while true
do 
    ping -c 3 www.baidu.com > /dev/null 2>&1
    if [ $? -eq 0 ];then
    echo "network ok"
    else
    echo "no network"
    sudo systemctl restart NetworkManager.service
    fi
    exit 0
done

目前因为也没断网,所以只是一直输出ok,重启网络这个,得等断网后再看结果了,但是应该没问题

赞(0) 赏杯咖啡!
未经允许不得转载:Sham@双目瞿 » ubuntu检测网络是否断开并执行程序shell脚本

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

如果你觉得文章好,请赏1杯速溶咖啡给Sham吧!

微信扫一扫打赏