环境:ubuntu20.4、宝塔、进程守护管理器、ssmtp、mailutils
关于安装邮件发送程序,请参考ubuntu20.4配置服务器公网IP变动邮箱通知,这里就不再赘述了。
对于服务器来说在线率很重要,出现问题要能及时解决,但系统管理员不能一直守在电脑旁边,通过脚本监控网站出现问题及时通过mail通知管理员,如果是139邮箱还可免费手机短信通知。
通过系统直接发送mail容易被拦截,可使用 mail连接第三方smtp发送邮件,演示是使用qq邮箱收发件。
一、shell脚本,这里展示文件名为page1-ccn.sh
代码
#!/bin/bash #set -x sudo -u www while true do list=(www.baidu.com) mail=mail@qq.com date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S") i=0 id=${#list[*]} while [ $i -lt $id ] do if ping -c1 ${list[$i]} >/dev/null then echo $date:服务器${list[$i]}能ping通。 else if curl -m 10 ${list[$i]} > /dev/null then echo $date:服务器${list[$i]} ping不通,能打开网页。 else echo "您好,据系统监测服务器${list[$i]}不能访问且ping不通!故障发生时间:$date"|mail -s "站点:${list[$i]}不能连接! 故障发生时间:$date" $mail until date=$(date -d "today" +"%Y-%m-%d-%H:%M:%S") ping -c1 ${list[$i]} >/dev/null && echo "恭喜!服务器${list[$i]}已恢复正常,恢复时间:$date"|mail -s "站点:${list[$i]}已恢复正常! 恢复时间:$date" $mail do sleep 5 done fi fi let i++ done sleep 6 #单位:秒,这里建填议60 done
二、进入宝塔的进程守护管理器添加进程
添加完成后点击确定
查看日志是否能正常运行
三、多站点方案
首先需要制作批量启动sh脚本
根据自建脚本修改,万万不可复制了事!
#!/bin/bash sudo -u www cd /data/wwwroot/ping/ ./80xco.sh & ./page1-ccn.sh & ./saas1-ccn.sh & ./saas88-8vip.sh & ./shop80xco.sh
把需要批量启动的sh进程放入文件内,这个类似于sh启动目录,把这个sh文件添加到进程守护管理器里面,就可以批量启动了,以后添加新站点监控时,只需把脚本名添加到这个sh文件即可。