`

shell 监控服务器联网状态

阅读更多

-rw-r--r-- 1 root root 1037 04-20 15:26 monitor_adsl_connect.log

-rw-r--r-- 1 root root 1876 04-20 15:05 monitor_adsl_connect.sh -rw-r--r-- 1 root root 1664 04-20 14:39 monitor_adsl_connect.sh.bak -rw-r--r-- 1 root root 122 04-20 15:26 monitor.pid -rw-r--r-- 1 root root 300 04-20 15:12 status.log

#!/bin/bash
#filename monitor_adsl_connect
#usg sh /bin/sh /root/monitor_adsl_connect/monitor_adsl_connect.sh
export LANG=zh_CN.UTF-8

eval `cat /root/monitor_adsl_connect/monitor.pid |grep pid | awk -F '=' '{print "pid="$2}'`  #得到进程文件中的进程pid值
if [ ! -z "$pid" ];                     #如果pid不为空,说明有进程正在执行,退出程序
then 
        eval `ps aux | grep $pid | grep -v grep | awk '{print "p_id="$2}'`
        if [ "$pid" = "$p_id" ];
        then 
                #echo "pid="$pid "正在运行,程序退出"
                exit
        fi
fi
echo pid=$$ > /root/monitor_adsl_connect/monitor.pid
file=/root/monitor_adsl_connect/monitor_adsl_connect.log        #输出文件
eval `/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 | grep adsl-status | awk -F ":" '{print $2}' | awk '{print "status="$5}'`     #得到adsl的状态值
flag="running"
if [ "$status" = "$flag" ];     #如果状态值是 running ,则说明正在运行,ok,设置sta 为 running
then 
        sta="running"
else
        sta="down and start"

        /sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 >> /root/monitor_adsl_connect/status.log

        /sbin/adsl-start /etc/sysconfig/network-scripts/ifcfg-ppp0      #start adsl

        while(( 1 ))
        do
                eval `/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 | grep adsl-status | awk -F ":" '{print $2}' | awk '{print "status="$5}'`

                /sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 >> /root/monitor_adsl_connect/status.log

                if [ "$status" = "$flag" ];
                then
                        break
                fi
        done
fi
eval `/sbin/adsl-status /etc/sysconfig/network-scripts/ifcfg-ppp0 | grep inet | awk '{print "ip="$2}'`  #get ip 
eval `date | awk '{print "year="$1,"month="$2,"day="$3,"time="$5}'`     #get time
echo -e "$year $month $day $time\t$sta\t$ip">>$file                     #output to file
echo "pid=" > /root/monitor_adsl_connect/monitor.pid  #清空进程pid
env >> /root/monitor_adsl_connect/monitor.pid

 

 

定时运行:每隔一分钟运行一次,

 

 

[root@centos200 monitor_adsl_connect]# crontab -l
0-59/1 * * * * /bin/sh /root/monitor_adsl_connect/monitor_adsl_connect.sh
 

 

分享到:
评论

相关推荐

    TDengine Windows客户端和服务器

    在Windows平台上部署TDengine客户端和服务器,可以充分利用其优势来支持各种应用场景,如工业监控、智能运维、车联网等。 首先,了解TDengine的基本架构至关重要。TDengine由两部分组成:Server端和Client端。...

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

    这个脚本使用`while`循环和`grep`命令监控指定程序(`/home/root/app/auto_run.sh`)的运行状态。如果程序未运行(退出状态码为1),脚本将启动该程序,并输出提示信息。 总的来说,这些Shell脚本提供了在网络连接...

    车联网业务安全浅析.pdf

    车联网是信息技术与交通运输领域的深度融合,它涉及到汽车、通信、交通等多个行业,为驾驶者提供了丰富的服务,如导航、娱乐、远程监控等。然而,随着技术的发展,车联网业务的安全问题日益凸显,这包括Web安全、...

    python监测当前联网状态并连接的实例

    总结来说,通过Python的`os`和`subprocess`模块,我们可以方便地监控计算机的网络连接状态,利用`ping`命令进行基本的网络连通性测试,并通过调用系统诊断工具解决网络问题。这种技术在自动化脚本、系统监控或网络...

    大数据运维工程师的基本职责[修改版].docx

    2. 运行监控:负责车联网平台的监控解决方案,进行二次功能开发,以实时监控系统的运行状态。 3. 文档编写与培训:编写和更新技术文档手册,总结运维经验,并进行内部培训分享,促进团队知识积累。 4. 技术调研与...

    基于Android和Linux的智能家居

    压缩包包含所有的代码,包括我写的Android APP的工程,apk安装程序在Android工程里的bin目录下可以直接安到手机,剩下的是Linux的驱动还有服务器通信程序和一个shell,开机后运行shell后运行APP连接好硬件就可以运行...

    初级运维工程师的主要职责.pdf

    这包括利用监控平台实时监测系统状态,一旦出现告警或故障,能迅速评估其严重程度,并按照既定的流程进行问题处理。他们需要响应故障报修电话和邮件,跟踪问题直至解决,并记录相关信息以备后续参考。此外,初级运维...

    大数据运维工程师的基本职责.docx

    - 实现车联网平台的运行监控,开发解决方案,并进行二次功能开发,确保平台的高效运行。 - 编写和更新技术文档,进行经验总结和培训分享,促进团队知识共享。 2. **运维管理与性能优化**: - 熟练使用Linux操作...

    Open Manage Essentials 部署安装

    2. 在产品分类中选择 “服务器、存储、联网设备”,以 “PowerEdge R730” 为例。 3. 进入R730支持页面后,点击“驱动程序和下载”。 4. 更改操作系统版本至所需版本(最低支持 Windows Server 2008 R2)。 5. 使用 ...

    物联网实践(STM32+ESP8266使用MQTT协议联动小程序上传下发数据).doc

    - **状态检查**:通过`emqx_ctl status`命令查看服务器运行状态。 ### 三、OneNet物联网平台 #### OneNet服务器介绍: OneNet是一个开放的物联网平台,为企业和个人提供物联网数据接入、存储、管理及应用开发服务...

    SOLARIS高级系统管理员指南

    9.4.5 端口监控程序状态 107 9.4.6 线路控制模型 108 9.4.7 uucp文件 112 9.4.8 SAF日志文件 113 9.5 SAF命令、任务和选项参考 114 9.5.1 SAF变量快速参考 114 9.5.2 服务访问控制(sacadm)快速参考 115 9.5.3 端口...

    ibm的linux 教程(原版教材)

    - 配置网络:讲解如何配置IP地址、DNS、网关等网络参数,以确保系统能正常联网。 3. Linux命令行基础: - 命令行界面:介绍shell的概念,如bash shell,并教授基本的命令行操作,如ls、cd、mkdir、rm等。 - 文件...

    轻松学linux 。pdf

    - 配置网络:讲解在安装过程中如何配置网络,确保系统能够联网。 3. **Linux桌面环境** - Gnome、KDE、XFCE等桌面环境的比较与选择,介绍如何定制个人工作环境。 - 图形化工具:学习使用文件管理器、终端模拟器...

    Linux命令行大全中文版

    5. **网络和系统管理**:`ping`测试网络连接,`ifconfig`查看网络接口信息,`netstat`查看网络状态,`top`或`htop`监控系统资源使用情况,`systemctl`管理服务。 6. **shell脚本编程**:了解`bash`或其他shell语法...

    自动重启路由换IP

    提供的"全自动重启路由工具"可能是这样的一个软件,它可以监控路由器状态,根据预设的规则自动执行重启操作,同时处理IP地址的更换。这类工具简化了手动操作,提高了效率。 5. **智能家居集成**: 如今,许多智能...

    fury-distribution:愤怒的发行(核心模块)

    核心模块联网印花布监控方式普罗米修斯算子普罗米修斯经营的格拉那戈德平格kubeadm-sm 库伯状态量度kube-proxy-exporter 节点导出器指标服务器记录中弹性搜索单脑馆长流利的基巴纳入口证书经理Nginx的预告片博士...

    RedHat Linux安装及使用指南

    4. **网络配置**:如果需要联网安装,此时可以配置网络连接,以便从服务器上获取更新和软件包。 5. **分区**:在安装过程中,你需要规划磁盘分区。可以选择自动分区,也可以手动创建/挂载点,如根目录`/`、用户目录...

Global site tag (gtag.js) - Google Analytics