客户端

  1. #!/bin/bash
  2.  
  3. #get_memory-info
  4. a=`free -m|grep Mem|awk '{print$2}'` #total-memory
  5. b=`free -m|grep Mem|awk '{print$3}'` #used-memory
  6. mem_percent=`awk 'BEGIN{printf "%.2f%\n",('$b'/'$a')*100}'` #used-memory-%
  7. #echo $mem_percent
  8.  
  9. #get_network_info
  10. ping -W -c >&
  11. ];then
  12. net_status="
  13. else
  14. net_status="
  15. fi
  16. #echo $net_status
  17.  
  18. #get_squid_process_status
  19. squid_status=`systemctl status squid|grep Active|awk '{print$2}'`
  20. if [ "$squid_status" = "active" ];then
  21. squid_status_code="
  22. else
  23. squid_status_code="
  24. fi
  25. #echo $squid_status_code
  26.  
  27. echo "\"memory\":\""$mem_percent"\",\""net_status\":\""$net_status"\",\""squid_status\":\""$squid_status_code"\""

服务端:

  1. #!/bin/bash
  2.  
  3. machine_ip=$
  4. machine_port=$
  5.  
  6. f1=`cat /proc/sys/kernel/random/uuid`
  7. f2=`cat /proc/sys/kernel/random/uuid`
  8. f3=`cat /proc/sys/kernel/random/uuid`
  9.  
  10. rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt
  11. touch /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt
  12.  
  13. {
  14. #echo "get machine_status"
  15. machine_status=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_machine_info.sh'`
  16.  
  17. len=`echo $machine_status|wc -c`
  18. ];then
  19. echo $machine_status > /tmp/.$f1.txt
  20. else
  21. echo "\"" > /tmp/.$f1.txt
  22. fi
  23. }&
  24.  
  25. {
  26. #echo "get wan ip"
  27. host=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'|awk -F: '{print$1}'`
  28. #echo $host
  29. #ssh -o ConnectTimeout= root@$host "date" > /dev/null
  30. #echo "test wan ip for 22"
  31.  
  32. ping -W -c $host > /dev/>&
  33. ];then
  34. #proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
  35. echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
  36. else
  37. #proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
  38. echo echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\" > /tmp/.$f3.txt
  39. fi
  40. }&
  41.  
  42. {
  43. #echo "get proxy_ip_port"
  44. proxy_ip_port=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'`
  45.  
  46. ] && [ "$proxy_ip_port" != "null" ];then
  47. #echo "get curl result"
  48. result=`curl -I -m -x $proxy_ip_port -o /dev/null -s -w %{http_code} map.baidu.com`
  49.  
  50. ];then
  51. proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"0\"`
  52. else
  53. #echo "get wan ip"
  54. #host=`ssh -o ConnectTimeout= -p $machine_port root@$machine_ip 'sh /root/get_wan_ip.sh'|awk -F: '{print$1}'`
  55.  
  56. #ssh -o ConnectTimeout= root@$host "date" > /dev/null
  57. #echo "test wan ip for 22"
  58. #if [ $? -eq 0 ];then
  59. # proxy_ip_port_status=`echo "\"proxy_ip\":\"0\",\""proxy_port\":\"1\"`
  60. #else
  61. # proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"0\"`
  62. #fi
  63. f3v=`cat /tmp/.$f3.txt|wc -c`
  64. ))
  65. do
  66. f3v=`cat /tmp/.$f3.txt|wc -c`
  67. done
  68. proxy_ip_port_status=`cat /tmp/.$f3.txt`
  69. fi
  70. else
  71. proxy_ip_port_status=`echo "\"proxy_ip\":\"1\",\""proxy_port\":\"1\"`
  72. fi
  73. echo $proxy_ip_port_status > /tmp/.$f2.txt
  74. }&
  75.  
  76. wait
  77.  
  78. proxy_ip_port_status=`cat /tmp/.$f2.txt`
  79. machine_status=`cat /tmp/.$f1.txt`
  80. rm -rf /tmp/.$f1.txt /tmp/.$f2.txt /tmp/.$f3.txt
  81.  
  82. #echo $machine_status
  83. #echo $proxy_ip_port_status
  84. 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. MVC-自定义HttpModule处理

    HttpModule是向实现类提供模块初始化和处置事件. 当一个HTTP请求到达HttpModule时,整个ASP.NET Framework系统还并没有对这个HTTP请求做任何处理,也就是说此时对于 ...

  2. java 内部类 *** 最爱那水货

    注: 转载于http://blog.csdn.net/jiangxinyu/article/details/8177326 Java语言允许在类中再定义类,这种在其它类内部定义的类就叫内部类.内部类又 ...

  3. Java final自变量

    Java 1.1 允许我们将自变量设成final 属性,方法是在自变量列表中对它们进行适当的声明.这意味着在一个方法的内部,我们不能改变自变量句柄指向的东西.如下所示: /** * Created b ...

  4. mac下彻底卸载mysql方法

    sudo rm /usr/local/mysqlsudo rm -rf /usr/local/mysql*sudo rm -rf /Library/StartupItems/MySQLCOMsudo ...

  5. 手动创建VS单元测试,显示代码覆盖率

    Visual Studio 号称有史以来最强大的IDE,确实如此.创建单元测试也是一键完成:在方法的代码块中右键“Create Unit Test…”,勾选测试项,填项目名,完成.VS就会自动帮你创建 ...

  6. 12款高质量的响应式 HTML5/CSS3 网站模板

    HTML5 已经成为众所周知的语言,大量的 HTML5 资源和工具正在建立,以帮助开发人员和设计人员.今天,我们展示12款免费的响应式 HTML5/CSS3 网站模板,帮助你创建醒目和视觉震撼的网站. ...

  7. js动态计算移动端rem

    在做移动端web app的时候,众所周知,移动设备分辨率五花八门,虽然我们可以通过CSS3的media query来实现适配,例如下面这样: html { font-size : 20px; } @m ...

  8. 百度在线编辑器UEditor(v1.3.6) .net环境下详细配置教程

    UEditor是百度开发团队奉献的一款很不错的在线编辑器.在百度自己很多产品上都有应用,本文主要是该编辑器的配置教程. 1.下载UEditor,当前最新版本是1.3.6.这里下载的.net版本,选择U ...

  9. ALV的颜色分为行的颜色、列的颜色和CELL的颜色

    ALV的颜色分为行的颜色.列的颜色和CELL的颜色.任务要求,将一定的Tabellenfeld 用黄色填充,也就是说CELL的颜色 DATA:ls_cellcolorTYPElvc_s_scol,co ...

  10. 如何:对 SharePoint 列表项隐藏 ECB 中的菜单项

    可以通过使用功能框架向编辑控制块 (ECB) 菜单添加新的自定义操作.但是,您不能使用此方法进行相反的操作,即隐藏现有的 ECB 菜单项,因为它们是通过使用 ECMAScript(JavaScript ...