1
头图

邮件发送配置

#安装邮件服务
yum install -y mailx sendmail
#修改接口
sed -i "s/inet_interfaces = localhost/inet_interfaces = all/g" /etc/postfix/main.cf
#编辑邮件信息
cat >> /etc/mail.rc << "EOF"
#配置文件末端添加
# 这里填入smtp地址
set smtp=smtps://smtp.qq.com:465
# 认证方式
set smtp-auth=login
# 这里输入邮箱账号
set smtp-auth-user=xxxxxxxxxx@qq.com
# 这里填入密码
set smtp-auth-password=xxxxxxxxxx
# 忽略证书警告
set ssl-verify=strict
# 证书所在目录
set nss-config-dir=/etc/pki/nssdb
# 设置发信人邮箱和昵称
set from=xxxxxxxxxx@qq.com
# STARTTLS时使用
#set smtp-use-starttls=yes
EOF
#获取邮件服务器证书
echo -n " " |  openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFIICATE-/p' > /etc/pki/nssdb/qq.crt
#把证书添加到受信任列表
certutil -A -n 'qq' -t "P,P,P" -d /etc/pki/nssdb -i /etc/pki/nssdb/qq.crt

服务列表文本 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 "服务严重故障" xxxxxxx@qq.com
done

定时检测 crontab

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

KentBryce
29 声望1 粉丝

« 上一篇
Crontab
下一篇 »
系统巡检