这篇文章主要介绍了shell脚本自动检测网络掉线和自动重连,这篇文章介绍的是自动检测连接网络的解决方法,需要的朋友可以参考下

在ppp移植成功后,有时会出现ppp掉线等情况。这篇文章写了一个自动检测连接网络的解决方法。

创建一个shell脚本,在里面添加一下内容。(记得给操作权限)

#!/bin/sh
//根据你自己的shell类型来选择。
while true
//先做一个死循环
do
ping -c 3 -I ppp0 172.16.1.11 >/dev/null
//指定一个出口去ping服务器的局域网ip,将结果重定向到/dev/null里。
//-c 3 是指ping执行3次后结束。
//-w 3 是指ping执行3秒后结束。
if [  $? -eq 0  ];then
//[]的两边都要有空格隔开
//当ping成功了,它的返回值为0,什么也不用干。说明网络畅通。
//$?是用来获取函数返回值或者上一个命令的退出状态。
echo "ppp0 is ready"
sleep 30
//为了防止过度的占用cpu资源,选择一段时间。
else
//当不成功说明这个网络或出口有问题。
echo "ppp0 is connecting"
pppd call connectvpn
//重新拨号,刷新这个出口。
ifconfig
sleep 30
fi
sleep 30
done

程序中加入了延时,是为了检测所占用的cpu资源。本脚本是一分钟检测一次网络状况。

当执行shell时出现syntax error: unexpected “then” (expecting “done”)报错是是因为编码格式不对,重新手打一遍就应该好了。

ps:linux检测程序是否挂掉并自动重新运行的脚本

编写一个脚本替代应用程序的运行,也就是通过启动脚本来启动程序,并监测程序是否挂掉,若挂掉则重新运行

#!/bin/sh
while true
do
ps -ef | grep "$PWD/app/auto_run.sh" | grep -v "grep"
if [ "$?" -eq 1 ]
then
/home/root/app/auto_run.sh #启动应用,修改成自己的启动应用脚本或命令
echo "process has been restarted!"
else
echo "process already started!"
fi
sleep 10
done

总结

以上所述是小编给大家介绍的shell脚本自动检测网络掉线和自动重连,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对爱安网网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

    无相关信息
最新资讯
贾跃亭向美法(tian)院(ping)提交破产重组方案核心条款清单

贾跃亭向美法(tian)院(ping)提交破

洛杉矶当地时间2月27日,贾跃亭向美国加州中区破产法(tian)院(ping)
Cell:新型冠状病毒感染可被蛋白酶抑制剂阻断

Cell:新型冠状病毒感染

一项最新的研究发现,新型冠状病毒(SARS-CoV-2)利用SARS-C
疫情下3亿人远程办公 行业“三国杀”江湖风起

疫情下3亿人远程办公

风口之下则是巨头林立,阿里、腾讯、华为和金山早已布局
游戏开发者大会因新冠病毒疫情延期 亚马逊等已退出

游戏开发者大会因新冠

由于担心新冠病毒疫情,游戏开发者大会(GDC)已被主办方延
P2P监管疫情之下现转机?银保监会:仍以“退”为主

P2P监管疫情之下现转

此次疫情对网贷行业的冲击较大,或已直接导致行业底层资
修复肺损伤,程柯教授开发治疗肺纤维化雾化疗法

修复肺损伤,程柯教授开

特发性肺纤维化是一种致命的疾病,使健康的肺组织变得没
最新文章
Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

Linux下shell脚本监控

这篇文章主要介绍了Linux下shell脚本监控Tomcat的状态
shell监控系统资源并通过短信报警的脚本

shell监控系统资源并

这篇文章主要介绍了shell监控系统资源并通过短信报警
linux传输文件命令 rz 和 sz详解

linux传输文件命令 rz

rz,sz是Linux/Unix同Windows进行ZModem文件传输的命令
Linux 中awk 提取包含某个关键字的段落

Linux 中awk 提取包含

AWK是一种处理文本文件的语言,是一个强大的文本分析工
Linux用脚本实现“时分秒“倒计时功能

Linux用脚本实现“时

这篇文章主要介绍了Linux用脚本实现“时分秒“倒计时
ps命令输出进程状态S+的含义解析

ps命令输出进程状态S+

这篇文章主要介绍了ps命令输出进程状态S后面加号的含