客户端

#!/bin/bash

#get_memory-info
a=`free -m|grep Mem|awk '{print$2}'`                    #total-memory
b=`free -m|grep Mem|awk '{print$3}'`                    #used-memory
mem_percent=`awk 'BEGIN{printf "%.2f%\n",('$b'/'$a')*100}'`     #used-memory-%
#echo $mem_percent

#get_network_info
ping -W   -c  >&
 ];then
        net_status="
else
        net_status="
fi
#echo $net_status

#get_squid_process_status
squid_status=`systemctl status squid|grep Active|awk '{print$2}'`
if [ "$squid_status" = "active" ];then
        squid_status_code="
else
        squid_status_code="
fi
#echo $squid_status_code

echo "\"memory\":\""$mem_percent"\",\""net_status\":\""$net_status"\",\""squid_status\":\""$squid_status_code"\""

服务端:

#!/bin/bash

machine_ip=$
machine_port=$

 f1=`cat /proc/sys/kernel/random/uuid`
 f2=`cat /proc/sys/kernel/random/uuid`
 f3=`cat /proc/sys/kernel/random/uuid`

rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt
touch /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt

{
 #echo "get machine_status"
 machine_status=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_machine_info.sh'`

 len=`echo $machine_status|wc -c`
   ];then
     echo $machine_status >  /tmp/.$f1.txt
 else
        echo "\""    > /tmp/.$f1.txt
 fi
}&

{
        #echo "get wan ip"
        host=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'|awk -F: '{print$1}'`
        #echo $host
        #ssh -o ConnectTimeout=  root@$host "date" > /dev/null
        #echo "test wan ip for 22"

        ping -W   -c  $host > /dev/>&
          ];then
            #proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
            echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
        else
            #proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
            echo echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
        fi
}&

{
 #echo "get proxy_ip_port"
 proxy_ip_port=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'`

   ] && [ "$proxy_ip_port" != "null"  ];then
    #echo "get curl result"
     result=`curl  -I  -m  -x $proxy_ip_port -o  /dev/null -s -w %{http_code} map.baidu.com`

     ];then
        proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"0\"`
    else
        #echo "get wan ip"
        #host=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'|awk -F: '{print$1}'`

        #ssh -o ConnectTimeout=  root@$host "date" > /dev/null
        #echo "test wan ip for 22"
        #if [ $? -eq 0  ];then
        #    proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
        #else
        #    proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
        #fi
        f3v=`cat /tmp/.$f3.txt|wc -c`
        ))
        do
            f3v=`cat /tmp/.$f3.txt|wc -c`
        done
        proxy_ip_port_status=`cat /tmp/.$f3.txt`
    fi
 else
      proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\"`
 fi
 echo $proxy_ip_port_status > /tmp/.$f2.txt
}&

wait

 proxy_ip_port_status=`cat /tmp/.$f2.txt`
 machine_status=`cat /tmp/.$f1.txt`
 rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt

#echo $machine_status
#echo $proxy_ip_port_status
echo "{"$machine_status","$proxy_ip_port_status"}"

linux 拨号+squid监控脚本的更多相关文章

  1. Linux 服务器系统监控脚本 Shell【转】

    转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...

  2. Linux Shell 网络层监控脚本(监控包括:连接数、句柄数及根据监控反馈结果分析)

    脚本监控: 获取最大句柄数的进程: 链接分析: 脚本片段: case "$handle" in 2) echo "The handle of the process : ...

  3. Linux系统性能统计工具Sar和实时系统性能监控脚本

    sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...

  4. 用 Python 脚本实现对 Linux 服务器的监控

    目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...

  5. 【不积跬步,无以致千里】五个常用的Linux监控脚本代码

    为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...

  6. linux系统CPU,内存,磁盘,网络流量监控脚本

    前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...

  7. Python 脚本实现对 Linux 服务器的监控

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 原文地址 由于原文来自微信公众号,并且脚本都是图片,所以这里 ...

  8. Linux下针对服务器网卡流量和磁盘的监控脚本

    1)实时监控网卡流量的通用脚本: [root@ceph-node1 ~]# cat /root/net_monit.sh #!/bin/bash PATH=/bin:/usr/bin:/sbin:/u ...

  9. 几个常用的Linux监控脚本

    几个常用的Linux监控脚本 几个常用的Linux监控脚本下面是几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助.1.查看主机网卡流量#!/bin/bash#network# ...

随机推荐

  1. themepark模板中奇特的编码

    编码问题虽然经常碰到,但通过编码来实现源代码加密的是第一次碰到.只能用神奇来形容. 而且研究了几个小时,没有想到解决办法.代码基本可以通过不断执行输出,但无法判断是何种编码.

  2. Scalaz(50)- scalaz-stream: 安全的无穷运算-running infinite stream freely

    scalaz-stream支持无穷数据流(infinite stream),这本身是它强大的功能之一,试想有多少系统需要通过无穷运算才能得以实现.这是因为外界的输入是不可预料的,对于系统本身就是无穷的 ...

  3. 每天一命令 git checkout

    检出 checkout  是git常用命令之一.主要用于创建切换分支,覆盖本地修改等 git checkout 用于显示工作区,暂存区,版本库中文件的区别 git checkout -b branch ...

  4. 七个结构模式之装饰者模式(Decorator Pattern)

    定义: 使用组合的方法,动态给一个类增加一些额外的功能,避免因为使用子类继承而导致类继承结构复杂.并且可以保持和被装饰者同一个抽象接口,从而使客户端透明. 结构图: Component:抽象构件类,定 ...

  5. ios svn无法连接xp或者win7系统svn的解决方法

    找到服务器svn的安装目录,或者直接查找httpd.conf,找到端口号,复制到ios系统的svn端口号,就ok了,如图 这是其他人的解决方法 Subversion有两种不同的配置方式,一种基于它自带 ...

  6. java.io.StreamCorruptedException: invalid type code: AC错误的解决方法

    问题描述: 在向一个文件写入可序列化对象时,每次只想向文件的末尾添加一个可序列化的对象,于是使用了FileOutputStream(文件名,true)间接的构建了ObjectOutputStream流 ...

  7. 20款美化网站的 jQuery Lightbox 灯箱插件

    jQuery Lightbox 灯箱插件可以让你为您的网站和应用程序展示优雅的图像,视频 和其它内容(使用模式窗口).如果你是一个开发人员,你必须拥有 jQuery 灯箱插件集合,因为有一部分的客户会 ...

  8. 浅谈-js递归函数

    所谓的递归函数就是在函数体内调用本函数.使用递归函数一定要注意,处理不当就会进入死循环.递归函数只有在特定的情况下使用 ,比如阶乘问题 下面我们就做一个10以内的阶乘试试看吧: [Ctrl+A 全选 ...

  9. document.querySelector和querySelectorAll方法

    querySelector和querySelectorAll是W3C提供的新的查询接口,其主要特点如下: 1.querySelector只返回匹配的第一个元素,如果没有匹配项,返回null.  2.q ...

  10. ST05 跟踪SQL

          SAP R/3 提供标准ABAP SQL 跟踪工具.使用T-Code:ST05 可以进入追踪设定画面:          在Trace Modes 区域中选择需要在SAP R/3 Serv ...