1.要求:
| 1.设计一个每隔30秒执行一次的死循环脚本, 2.监控远程的机器(假设有五十台服务器,IP为192.168.1.1-50)的存活状态, 3.将宕机的服务器IP,发一封邮件给你自己。 |
| [root@liang ~]# cat /scritp/2018-06-13/monitoring.sh #!/bin/bash Ip=192.168.1. File=/test1/ip.txt while true do for i in `seq 50` do ping -c 2 ${Ip}${i} >/dev/null 2>&1 if [ $? -eq 1 ];then echo "${Ip}${i}" >> ${File} fi done if [ ! -z "$File" ];then mail -s "error:ping Ip" lilde123456@163.com < ${File} >${File} fi sleep 30 done |
3.邮件服务器配置(我这里使用的是网易邮箱)
1.配置 [root@liang test]# tail -1 /etc/mail.rc set from=lilde123456@163.com smtp=smtp.163.comsmtp-auth-user=lilde123456 smtp-auth-password=密码 stmp-auth=login 2.发送邮件写法: mail -s “标题” lilde123456@163.com </etc/hosts echo “正文”|mail -s “标题” lilde123456@163.com |
4.测试(写测试192.168.1.1-5的)
1.打开两个终端,一个执行脚本,一个查看/test1/ip.txt文件。 [root@liang ~]# bash /scritp/2018-06-13/monitoring.sh [root@liang ~]# tailf /test1/ip.txt
|
本文介绍了一个使用Shell脚本实现的简易服务器监控系统。该系统每30秒检查一次预设的50台服务器的在线状态,并通过邮件通知管理员哪些服务器出现故障。文中详细展示了如何设置邮件服务器以发送警报。

889





