一、不使用脚本执行步骤
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