热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

shell脚本自动检测网络掉线和自动重连

这篇文章主要介绍了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脚本自动检测网络掉线和自动重连,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!


推荐阅读
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
  • WebBenchmark:强大的Web API性能测试工具
    本文介绍了一款名为WebBenchmark的Web API性能测试工具,该工具不仅支持HTTP和HTTPS服务的测试,还提供了丰富的功能来帮助开发者进行高效的性能评估。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 随着Linux操作系统的广泛使用,确保用户账户及系统安全变得尤为重要。用户密码的复杂性直接关系到系统的整体安全性。本文将详细介绍如何在CentOS服务器上自定义密码规则,以增强系统的安全性。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 春季职场跃迁指南:如何高效利用金三银四跳槽季
    随着每年的‘金三银四’跳槽高峰期的到来,许多职场人士都开始考虑是否应该寻找新的职业机会。本文将探讨如何制定有效的职业规划、撰写吸引人的简历以及掌握面试技巧,助您在这关键时期成功实现职场跃迁。 ... [详细]
  • 一文详解Linux
    Linuxnetfilter与VRF实验环境如下图所示:配置如下:#!binbashsudoipnetnsaddns1sudoiplinkaddns1veth1typevethpe ... [详细]
  • 本文详细介绍了如何在 Ubuntu 14.04 系统上搭建仅使用 CPU 的 Caffe 深度学习框架,包括环境准备、依赖安装及编译过程。 ... [详细]
  • Linux系统中Boot分区空间不足的处理方案
    在Linux系统的默认安装过程中,Boot分区通常分配的空间为200MB左右,理论上这个大小足以满足日常需求。然而,随着系统的频繁更新,尤其是内核的不断升级,如果不及时清理过期的内核版本,Boot分区很容易出现空间不足的问题。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • 本文详细介绍了Linux系统中常用的文件操作命令,包括echo用于输出内容至屏幕或文件,cat用于显示或合并文件内容,sed用于流编辑器功能,以及wc命令用于统计文件中的字节、行数和单词数量。通过具体示例加深理解。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • Ubuntu系统下的GIF动画录制解决方案
    在撰写文章或教程时,GIF动态图能够有效地传达信息。对于Windows用户而言,ScreenToGif是一款非常实用的工具。而在Ubuntu系统中,用户同样拥有多种选择来创建GIF动画,本文将重点介绍两款录屏工具——Byzanz和Peek。 ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
author-avatar
lobtao
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有