#!/bin/bash #author=xiaosu IP_LIST[0]="x.x.x.x" IP_LIST[1]="x.x.x.x." PORT="44272" def_get_mem (){ for IP in ${IP_LIST[@]};do MEMORY_PRE=$(ssh -p $PORT root@$IP "free -m"| sed -n '2p' | awk '{print $3/$2*100"%"}') HOST_NAME=$(ssh -p $PORT root@$IP "hostname") echo "主機名爲${HOST_NAME},IP地址爲${IP}的內存使用率爲${MEMORY_PRE}" >> /tmp/get_all_mem$(date +%Y-%m-%d).log done echo "==========已獲取內存使用狀況==============" } def_get_cpu (){ for IP in ${IP_LIST[@]};do USE_CPU=$(ssh -p $PORT root@$IP "cat /proc/loadavg " | awk '{print $1,$2,$3}') HOST_NAME=$(ssh -p $PORT root@$IP "hostname") echo "主機名爲${HOST_NAME},IP地址爲${IP}的CPU使用狀況爲:1分鐘、5分鐘、15分鐘的平均使用率分別爲${USE_CPU[0]}${USE_CPU[1]}${USE_CPU[2]}" >> /tmp/get_all_mem$(date +%Y-%m-%d).log done echo "=========已獲取CPU使用狀況===============" } def_get_disk (){ for IP in ${IP_LIST[@]};do USE_DISK=$(ssh -p $PORT root@$IP "df -h" | awk 'NR!=1{print $5}'|awk -F \% '{print $1}') HOST_NAME=$(ssh -p $PORT root@$IP "hostname") A=0 for disk1 in ${USE_DISK[@]};do if [ $disk1 -gt "80" ];then disk2[$A]=$disk1 A=$((++A)) fi done disk=${disk2[@]} if [ ! -n "$disk" ]; then echo "主機名爲${HOST_NAME},IP地址爲${IP}磁盤使用率未有超過80%" >> /tmp/get_all_mem$(date +%Y-%m-%d).log else echo "NOT NULL" echo "主機名爲${HOST_NAME},IP地址爲${IP}磁盤使用率有超過80%的有:$disk" >> /tmp/get_all_mem$(date +%Y-%m-%d).log fi done echo "===========已獲取磁盤使用狀況=============" } def_get_mem echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log def_get_cpu echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log def_get_disk echo "+++++++++++++++++++++++++">> /tmp/get_all_mem$(date +%Y-%m-%d).log cat /tmp/get_all_mem$(date +%Y-%m-%d).log