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 &