#!/bin/sh
source /etc/profile
#define variable
distantIpList=('111.0.0.1' '111.0.0.2' '111.0.0.3')
emailArray=('meve@qq.com' 'yuki@qq.com')
happenTime=`date "+%Y-%m-%d %H:%M:%S" `
for ip in ${distantIpList[*]}
do
if [ ${ip} == '111.0.0.1' ];then
port='1120'
elif [ ${ip} == '111.0.0.2' ];then
port='1121'
else
port='22'
fi
spaceUsedList=`ssh -p${port} root@${ip} df -h|grep -o [0-9]*%|grep -o '[0-9]\+' `
for spaceUse in ${spaceUsedList}
do
if [ ${spaceUse} -ge 80 -a ${spaceUse} -le 90 ];then
for email in ${emailArray[*]}
do
echo "NOTICE: Disk space for your server ${ip}, already used ${spaceUse}%,${happenTime}" | mail -s 'Disk Space Notice' ${email}
done
elif [ ${spaceUse} -gt 90 ];then
for email in ${emailArray[*]}
do
echo "WARNING: Low disk space for your server ${ip}, already used ${spaceUse}%,${happenTime} " | mail -s 'Disk Space Warning' ${email}
done
fi
done
done
要求:监控多个(远程主机)磁盘使用情况并邮件报警分析:解答:#!/bin/shsource /etc/profile#define variabledistantIpList=('172.0.0.1' '172.0.0.2' '172.0.0.3')emailArray=('meve@qq.com' 'yuki@qq.com')for ip in ${distantIp...