关于shell:服务巡检

10次阅读

共计 941 个字符,预计需要花费 3 分钟才能阅读完成。

邮件发送配置

# 装置邮件服务
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

正文完
 0