查看监控多台服务器的内存和磁盘容量

 效果图:

代码:

注意:

  • 需要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%s\e[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%s\e[m ]\r" "$used_sca%"
		if [ $disk_used_zhengshu -lt 70 ] ;then
			printf "\nDISK $ip  [ \e[32m%s\e[m ]\r\n" "$disk_used"
		else
			printf "\nDISK $ip  [ \e[31m%s\e[m ]\r\n" "$disk_used"
		fi		
       else
                printf "\nMEM  $ip  [ \e[32m%s\e[m ]\r" "$used_sca%"
                if [ $disk_used_zhengshu -lt 70 ] ;then
                        printf "\nDISK $ip  [ \e[32m%s\e[m ]\r\n" "$disk_used"
                else
                        printf "\nDISK $ip  [ \e[31m%s\e[m ]\r\n" "$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 &

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值