Linux服务器监控SHELL脚本(自动发邮件)

脚本根据网上流传的手机版和MSN发信息版本改造
通过mail命令发送邮件

前提是监控Linux服务器要安装有MTA,如sendmail,exim4,postfix

主http.sh脚本内容

#!/bin/bash
LANG=C
server_all_list=(server1_IP:port server2_IP:port...)
date=$(date -d "today" +"%Y-%m-%d_%H:%M:%S")

server_all_len=${#server_all_list[*]}

i=0
while  [ $i -lt $server_all_len ]
do
server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')

server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')

if ping -c 1 $server_ip
then
echo "服务器${server_ip}连接ping正常!"
else
echo "服务器${server_ip}无法Ping通!"
echo "服务器${server_ip}无法连接,请检查 故障描述:无法ping通 日期:${date}" | mail -s "服务器监控系统,请不要回复" [email protected]  -a "Content-type: text/html; charset=utf-8" -- -f [email protected]
fi
let i++
done

再创建一个循环脚本mon.sh

#!/bin/bash

while true

do

/bin/bash /root/http.sh >/dev/null 2>&1

sleep 60

done

最后创建一个启动脚本start_report.sh

只用一行

nohup /root/mon.sh > /dev/null 2>&1 &

相关推荐