服务巡检

邮件发送配置

#安装邮件服务
yum install -y mailx  sendmail
#修改接口
vim /etc/postfix/main.cf
inet_interfaces = all
#编辑邮件信息
vim /etc/mail.rc
#配置文件末端添加
# 这里填入smtp地址
set smtp=smtps://smtp.qq.com:465
# 认证方式
set smtp-auth=login
# 这里输入邮箱账号
set [email protected]
# 这里填入密码
set smtp-auth-password=邮箱授权码
# 忽略证书警告
set ssl-verify=ignore
# 证书所在目录
set nss-config-dir=/etc/pki/nssdb
# 设置发信人邮箱和昵称
set [email protected]
# STARTTLS时使用
#set smtp-use-starttls=yes

服务列表文本 testlist

nginx
mysql

服务检测脚本 services_check.sh

#!/bin/bash
#主机名
name=`hostname`
#日期
date=`date '+%Y-%m-%d-%H:%M:%S'`
#外网ip
ip_in=`curl whatismyip.akamai.com`
ip_on=`ip a show |grep ens|grep inet |awk '{print $2}'|awk -F '/' '{print $1}'`
cat /data/safety/sys_services/testlist | while read service
do
stat=`systemctl status $service |grep Active|awk '{print $3}' |cut -c 2-8`

#判断服务状态
if [ $stat != running ];then
        # 邮件发送
echo -e "故障日期:$date \n\t 主机名称:$name \n\t IP地址:$ip_in \n\t 服务状态:$service $stat" | mail -s "服务严重故障" [email protected]
done

定时检测 crontab

#每半小时检测
*/30 * * * * /data/safety/sys_services/services_check.sh

你可能感兴趣的:(shell)