linux 拨号+squid监控脚本
客户端
#!/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监控脚本的更多相关文章
- Linux 服务器系统监控脚本 Shell【转】
转自: Linux 服务器系统监控脚本 Shell - 今日头条(www.toutiao.com)http://www.toutiao.com/i6373134402163048961/ 本程序在Ce ...
- Linux Shell 网络层监控脚本(监控包括:连接数、句柄数及根据监控反馈结果分析)
脚本监控: 获取最大句柄数的进程: 链接分析: 脚本片段: case "$handle" in 2) echo "The handle of the process : ...
- Linux系统性能统计工具Sar和实时系统性能监控脚本
sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况.系统调用的使用情 ...
- 用 Python 脚本实现对 Linux 服务器的监控
目前 Linux 下有一些使用 Python 语言编写的 Linux 系统监控工具 比如 inotify-sync(文件系统安全监控软件).glances(资源监控工具)在实际工作中,Linux 系统 ...
- 【不积跬步,无以致千里】五个常用的Linux监控脚本代码
为大家提供五个常用Linux监控脚本(查看主机网卡流量.系统状况监控.监控主机的磁盘空间,当使用空间超过90%就通过发mail来发警告.监控CPU和内存的使用情况.全方位监控主机),有需要的朋友不妨看 ...
- linux系统CPU,内存,磁盘,网络流量监控脚本
前序 1,#cat /proc/stat/ 信息包含了所有CPU活动的信息,该文件中的所有值都是从系统启动开始累积到当前时刻 2,#vmstat –s 或者#vmstat 虚拟内存统计 3, #cat ...
- Python 脚本实现对 Linux 服务器的监控
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 原文地址 由于原文来自微信公众号,并且脚本都是图片,所以这里 ...
- Linux下针对服务器网卡流量和磁盘的监控脚本
1)实时监控网卡流量的通用脚本: [root@ceph-node1 ~]# cat /root/net_monit.sh #!/bin/bash PATH=/bin:/usr/bin:/sbin:/u ...
- 几个常用的Linux监控脚本
几个常用的Linux监控脚本 几个常用的Linux监控脚本下面是几个主机监控的脚本,大家可以根据自己的情况再进行修改,希望能给大家一点帮助.1.查看主机网卡流量#!/bin/bash#network# ...
随机推荐
- Centos压缩与打包
这个虽然是基础知识,但是有些东西就是这样,久了没用,就会忘记,而且之前有一个坏习惯就是不喜欢做笔记,以后学习了行东西一定要记录在博客,这样以后自己也能时不时的查看一下. 言归正传,在计算机的世界中,数 ...
- 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题
B - 大还是小? Time Limit:5000MS Memory Limit:65535KB 64bit IO Format: Description 输入两个实数,判断第一个数大 ...
- 「Ionic」设置开发环境
轉載請一定註明地址:http://www.cnblogs.com/surge/p/5983024.html 謝謝! 濤叔是在mac環境下進行的,涉及android環境的配置不保證成功. 少废话,跟着濤 ...
- 《深入.NET平台和C#编程》内部测试题
一 选择题 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格式化器的Serialize()和D ...
- IO流(二)__BufferedReader和BufferedWriter
BufferedReader和BufferedWriter 字符流的缓冲区:缓冲区的而出现提高了对数据的读写效率对应类:BufferedWriter BufferedReader缓冲区要结合流才可以 ...
- Volatile实现原理
volatile 在多线程上volatile 是synchronized 轻量级实现.在多核处理器开发中保证了共享变量的"可见性".可见性是指当一个线程修改一个共享变量的时候,另外 ...
- jQuery als.js 跑马灯
ali.js是一款滚动插件,滚动的内容可包含文字和图片.它的API也很强大,包括滚动区域可见个数.每次滚动个数.滚动方向.是否循环滚动.是否自动滚动.滚动间隔时间.滚动动画速度.动画效果.滚动方向以及 ...
- CSS代码记录
1. 内容横向滚动的代码 .ul { display: box; display: -webkit-box; width: 250px; background: yellow; overflow-y: ...
- 移动Web开发的bug及解决方案
我目前移动Web开发遇到的bug以及解决方案(慢慢补充当中). 1.android4.0以上一部分手机的webview中,当canvas小于屏幕大小时,绘图时会出现重影,就是说一个图只绘制了一遍,却出 ...
- C#联合Union的实现方式
一.基础篇 C#不像C++,他本身是没有联合Union的,但是可以通过手动控制结构体每个元素的位置来实现,这需要结合使用StructLayoutAttribute.LayoutKind以及FieldO ...