shell脚本批量监控主机磁盘信息
- 写一个配置文件保存被监控主机SSH连接信息,格式:IP User Port
[root@Test ~]# cat host
10.10.10.10 root 22
10.10.10.11 root 22
- 配置防火墙规则
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
- 创建ssh免密通道
[root@Test ~]# ssh-keygen -t rsa -f ~/.ssh/id_dsa -P ""
[root@Test ~]# ssh-copy-id root@10.10.10.10
[root@Test ~]# ssh-copy-id root@10.10.10.11
- 脚本如下
#!/bin/bash
disk_file=/tmp/disk
host_info=host
function info() {
echo -e "\033[32m [INFO] \033[0m$@ "
}
function warn() {
echo -e "\033[31m [WARN] \033[0m$@"
}
for IP in `cat $host_info |awk '/^[^#]/{print $1}'`; do
user=`awk -v ip=$IP '$1==ip{print $2}' $host_info`
port=`awk -v ip=$IP '$1==ip{print $3}' $host_info`
ssh -p $port $user@$IP df -h > $disk_file
USE_RATE_LIST=`cat $disk_file |awk 'BEGIN{OFS="="}/^\/dev/{print $1,int($5)}'`
log_info "------------------------------------------------------"
for USE_RATE in $USE_RATE_LIST; do
PART_NAME=${USE_RATE%=*}
USE_RATE=${USE_RATE#*=}
if [ $USE_RATE -ge 10 ]; then
warn " $IP $PART_NAME $USE_RATE%!"
else
info " $IP $PART_NAME $USE_RATE%!"
fi
done
done
- 测试效果
[root@Test ~]# sh a.sh
[INFO] ------------------------------------------------------
[WARN] 10.10.10.10 /dev/mapper/centos-root 10%!
[INFO] 10.10.10.10 /dev/sda1 1%!
[INFO] 10.10.10.10 /dev/mapper/centos-var 4%!
[WARN] 10.10.10.10 /dev/mapper/centos-home 36%!
[WARN] 10.10.10.10 /dev/mapper/centos-opt 15%!
[INFO] ------------------------------------------------------
[WARN] 10.10.10.11 /dev/mapper/centos-root 18%!
[WARN] 10.10.10.11 /dev/sda1 15%!
这是颜色内容
这是颜色内容
shell脚本批量监控主机磁盘信息的更多相关文章
- shell脚本批量ssh登陆主机并执行命令
shell脚本批量ssh登陆主机并执行命令 今天在客户现场遇到了这个问题,客户没有管理工具,无法批量登陆主机下发命令,几个个C段啊,让我一个一个登陆,.................. 所以写了个s ...
- Linux shell脚本 批量创建多个用户
Linux shell脚本 批量创建多个用户 #!/bin/bash groupadd charlesgroup for username in charles1 charles2 charles3 ...
- Shell 脚本批量创建数据库表
使用 Shell 脚本批量创建数据表 系统:Centos6.5 64位 MySQL版本:5.1.73 比如下面这个脚本: #!/bin/bash #批量新建数据表 for y in {0..199}; ...
- 生产环境Shell脚本Ping监控主机是否存活(多种方法)
在网上针对shell脚本ping监控主机是否存活的文档很多,但大多都是ping一次就决定了状态,误报率会很高,为了精确判断,ping三次不通再发告警,只要一次ping通则正常.于是,今天中午抽出点时间 ...
- shell脚本批量执行命令----必需判断上一步执行结果--没有捷径
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed ...
- shell脚本批量开启防火墙端口
# 注意:shell脚本批量执行命令,不能只写一个函数,然后把所有命令复制进去,之前试过这样是不行的.必须要有一个判断命令执行成功与否的语句 # 简单的命令可以不加结果判断符号,但是遇到解压包.sed ...
- linux系统配置文件或shell脚本批量注释
1. 配置文件批量注释 1.1 批量注释 ① 进入命令行模式,按ctrl + v进入 visual block模式,键盘上下箭头选中多行,把需要注释的行标记起来 ② 按大写字母I,再输入注释符:# ③ ...
- 用shell脚本批量修改文件后缀名
早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片.此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JP ...
- shell脚本批量生成配置文件
如果管理的站点和服务器较多的情况下,每次修改配置文件都相当痛苦.因而想到了用shell脚本来批量生成配置文件和配置数据.下面这个脚本是为了批量生成nagios监控配置文件的一个shell脚本程序.其原 ...
随机推荐
- EOJ 1058. 挤模具 (多边形面积)
题目链接:1058. 挤模具 题意 给出模具的底和体积,求模具的高. 思路 模具的底为多边形,因此求出多边形面积,用体积除以底的面积就是答案. 多边形的面积求解见 EOJ 1127. 多边形面积(计算 ...
- servlet项目找不到java文件(由于照抄代码造成的bug)
其实这个bug非常简单,实际上是由于路径配置问题,也是由于我照抄代码造成的(好孩子不要学!) 情况是这样的:java文件没有问题但是启动项目的时候出现了bug: 然后当我把GetData.java和J ...
- ActiveX (ocx) 控件 在vs2010 上debug 的方法
1.在项目的属性中配置Debug,设置调试选项卡中的“命令”.“命令参数”.“工作目录”,“命令”为IE的路径,“命令参数”为自己写的htm页面路径(因htm中未配置ocx路径,所以直接把htm放在了 ...
- 第四周总结和实验二Java简单类与对象
实验目的 掌握类的定义,熟悉属性.构造函数.方法的使用,掌握用类作为类型声明变量和方法返回值: 理解类和对象的区别,掌握构造函数的使用,熟悉通过对象名引用实列的方法和属性: 理解static修饰对类. ...
- 常用命令--mount
mount -o remount,rw / mount 命令 [-t 文件系统] [-L 卷标名] [-o 特殊选项] 设备文件名 挂载点 -l 查询系统中已经挂载的设备,-l 会显示卷标 -a ...
- 递归,装饰器,python常用内置方法
**递归** def calc(n): print(n) if int(n / 2) == 0: 条件判断 r ...
- ssh文件 ip锁定
vi ~/.ssh/config Host web*hostname 115.29.242.1**user lian Host **hostname 192.168.1.**user dface
- python之合并多个字典或映射
问题 现在有多个字典或者映射,你想将它们从逻辑上合并为一个单一的映射后执行某些操作, 比如查找值或者检查某些键是否存在. 解决方案 假如你有如下两个字典: a = {'x': 1, 'z': 3} b ...
- 最全的chrome显示www和https方法(全版本)
78以前的老版本 设置如下参数 chrome://flags/#omnibox-ui-hide-steady-state-url-scheme chrome://flags/#omnibox-ui-h ...
- 关系型数据库---MYSQL---系统学习
1.概述 1.1 mysql数据库是一种 客户端/服务器体系 的 数据库系统: 服务器部分 在启动运行后没有人机界面,所以终端用户 无法直接使用MySQL: 对MySQL数据库进行访问.操作 ...