centos系统内存磁盘过高报警发送邮件到qq邮箱

导读:本篇文章讲解 centos系统内存磁盘过高报警发送邮件到qq邮箱,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

一、不使用脚本执行步骤

1、先关闭防火墙

systemctl  stop  firewalld

2、下载或更新邮件服务

yum  -y  install  mailx

3、邮箱设置

进入邮箱,先点自己的设置,点击账户

在这里插入图片描述

开启pop3 smtp服务(此处会生成一个授权码,这个授权码先保存,后续需要,如果没保存,可以点击下面的生成授权码,发送短信即可生成授权码)

在这里插入图片描述

4、修改配置文件

  • 邮箱的配置文件为:/etc/mail.rc
set from=1449145472@qq.com    #  你自己的邮箱
set smtp=smtps://smtp.qq.com:465  #邮箱所在服务器和端口,默认即可
set smtp-auth-user=1449145472@qq.com  #自己的邮箱
set smtp-auth-password=loqmchjxmrzwihce   #获取邮件的授权码
set ssl-verify=ignore    #默认login即可
set smtp-auth=login      #ssl认证方式
set nss-config-dir=/root/.certs   #整数所在目录,这个可以自定义目录所在位置

5、请求数字证书

将下面的语句进行执行

mkdir -p /root/.certs/

echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt

certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt

cd  /root/.certs/

certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt

certutil -L -d /root/.certs

6、 测试邮件是否发送成功

echo  "邮件正文"  | mail -s   "邮件主题"   xxx@qq.com

7、执行结果

使用命令发送邮件

echo "hello word " | mail -s "yudeqiang" 1449145472@qq.com

在这里插入图片描述

二、写入脚本执行

#!/bin/bash
#实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送到自己的QQ邮箱 
systemctl stop firewalld    #关闭防火墙
yum -y install mailx &>/dev/null  #下载邮件安装包

#第一次需要填加,后面不需要
#cat >> /etc/mail.rc <<EOF
#set from=1449145472@qq.com  
#set smtp=smtps://smtp.qq.com:465
#set smtp-auth-user=1449145472@qq.com
#set smtp-auth-password=loqmchjxmrzwihce
#set ssl-verify=ignore
#set smtp-auth=login
#set nss-config-dir=/root/.certs
#EOF

#下面开始进行数字认证
mkdir -p /root/.certs/
echo -n | openssl s_client -connect smtp.qq.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/qq.crt
certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/qq.crt
cd  /root/.certs/
certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ~/.certs/./ -i qq.crt
certutil -L -d /root/.certs

#获取可用内存的大小
Mem=`free -m |grep "Mem"|awk '{print $4}'`
#获取磁盘根目录的大小
disk=`df -m /|awk '/\//{print $4}'`

#定义while循环
while true
do
   #内存小于1G并且磁盘小于43G,将会报警,entos将会发送邮件到qq邮箱
   if [ $Mem -lt 1000 ] && [ $disk -lt 43000 ];then
       echo "内存空间小于1000M,磁盘空间小于43G"|mail -s "Warning" 1449145472@qq.com
   fi
   break #因为这边是测试,所以发送一次即跳出循环
done

脚本执行结果

在这里插入图片描述

在这里插入图片描述

查看邮件内容

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/75052.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!