关于shell:服务巡检

邮件发送配置

#装置邮件服务
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 smtp-auth-user=xxxxxxxxxx@qq.com
# 这里填入明码
set smtp-auth-password=邮箱受权码
# 疏忽证书正告
set ssl-verify=ignore
# 证书所在目录
set nss-config-dir=/etc/pki/nssdb
# 设置发信人邮箱和昵称
set from=xxxxxxxxxx@qq.com
# 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 "服务重大故障" xxxxxxx@qq.com
done

定时检测 crontab

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理