效果图:
代码:
注意:
- 需要ssh免密,且默认端口是22,早期写的,忘记将端口设置成变量了。
- 颜色改变原则目前就是大于70黄色,小于70是绿色。
- 新增要监视的主机就是加脚本的最后依据,即:get_mem $IP &。
#!/bin/bash
clear
echo "--------------------MEMORY & DISK(used/total)---------------------"
function waitfun(){
a=1
while [ $a -lt 5 ]
do
for X in '-' '' '|' '/'
do
printf "处理中t[ e[32m%se[m ]r" "${X}"
sleep 0.3
a=`expr $a + 1 `
done
done
}
function get_disk(){
ip=$1
disk_used=`ssh -p 22 $ip df -h | grep /home | awk '{print $5}'`
disk_used_zhengshu=${disk_used/%/}
}
function get_mem(){
ip=$1
total=`ssh -p 22 $ip free -t|grep Mem|awk '{print $2}'`
used=`ssh -p 22 $ip free -t|grep Mem|awk '{print $3}'`
used_sca_tmp=`echo "scale=6;$used/$total"|bc`
used_sca_zhengshu=`echo "scale=0;$total/$used"|bc`
used_sca=`echo "scale=2;$used_sca_tmp*100"|bc`
get_disk $ip
if [ $used_sca_zhengshu -lt 2 ] ;then
printf "nMEM $ip [ e[33m%se[m ]r" "$used_sca%"
if [ $disk_used_zhengshu -lt 70 ] ;then
printf "nDISK $ip [ e[32m%se[m ]rn" "$disk_used"
else
printf "nDISK $ip [ e[31m%se[m ]rn" "$disk_used"
fi
else
printf "nMEM $ip [ e[32m%se[m ]r" "$used_sca%"
if [ $disk_used_zhengshu -lt 70 ] ;then
printf "nDISK $ip [ e[32m%se[m ]rn" "$disk_used"
else
printf "nDISK $ip [ e[31m%se[m ]rn" "$disk_used"
fi
fi
wait
}
get_mem 62.64.41.134 &
get_mem 62.64.41.138 &
get_mem 62.64.41.139 &
get_mem 62.64.41.140 &
get_mem 62.64.41.141 &
get_mem 62.64.41.142 &
get_mem 62.64.41.143 &
get_mem 62.64.41.144 &
get_mem 62.64.41.145 &
get_mem 62.64.41.146 &