批量监控服务器磁盘利用率
# 主机信息
vim host.info
192.168.1.202 root 22
192.168.1.81 root 22
192.168.1.85 root 22
# 监控脚本
#!/bin/bash
host_info=host.info
for ip in $(awk '!/^#/{print $1}' $host_info); do
user=$(awk -v ip=$ip '{if(ip==$1){print $2}}' $host_info)
port=$(awk -v ip=$ip '{if(ip==$1){print $3}}' $host_info)
tmp_file=/tmp/disk.tmp
ssh -p $port $user@$ip 'df -h' > $tmp_file
use_rate_list=$(awk 'BEGIN{OFS="="}/^\/dev/{print $NF,int($5)}' $tmp_file)
for use_rate in $use_rate_list; do
partname=${use_rate%=*}
userate=${use_rate#*=}
if [ $userate -gt 20 ]; then
echo "warning: $ip host $partname partition usage $userate"
fi
done
done
# 运行
./check_disk.sh
warning: 192.168.1.202 host / partition usage 72
warning: 192.168.1.202 host /home partition usage 22
warning: 192.168.1.81 host /home partition usage 30
warning: 192.168.1.85 host / partition usage 74