環境:CentOS7
目的:考慮到實現服務的高可用性。使用電子郵件通知服務,可以快速的通知維護人員。提高服務的可靠性,而通過 smtp.qq.com 實現腳本郵件報警
一、設置並取得 smtp.qq.com 的 使用 授權密碼
1.點擊進入QQ郵箱

2.進入郵箱點擊設置

3.點擊帳號

4.點擊開啟SMTP

5.發送驗證碼

6.記住密碼或修改密碼

二、安裝郵件客戶端工具 mailx
[root@server-30 ~]# yum install mailx
[root@server-30 ~]# vim /etc/mail.rc ##在文件的最后,添加以下幾行
set from=發件人郵箱@163.com
set smtp=smtp.163.com
set smtp-auth-user=郵箱用戶名
set smtp-auth-password=自己設定的 授權密碼
set smtp-auth=login
set smtp=smtp.163.com
set smtp-auth-user=郵箱用戶名
set smtp-auth-password=自己設定的 授權密碼
set smtp-auth=login
三、測試郵件發送功能
1.給自己發送郵件,首先先確保自己能連網
[root@uplooking /test]# ping smtp..com ##是否能ping 通。如果不同,請檢查網絡
2.進行測試
[root@uplooking ~]# echo "hello"|mail -s "測試" 用戶名@qq.com
3.驗證測試效果
四、將郵件服務添加到腳本中
#!/bin/bash
##描述:可以實現對磁盤用量實施監控,當超出90%實施郵件報警
##作者:小劉
##聯系方式:無
##電話:無
##版本:v_1.0
##注意:
path="/root/fdisk_error"
m_num=90
a=0
while :
do
##當磁盤用量超過90%實施報警
m_list(){
sleep 10
m_fdisk=`df -h |grep -Ev "(sr0|tmpfs)" |tr -d "%"|sed '1{d}'|awk '$5>'$m_num'{print $1,$4,$5"%",$6}'|wc -l`
m_fdisk1=`df -h |grep -Ev "(sr0|tmpfs)" |tr -d "%"|sed '1{d}'|awk '$5>'$m_num'{print $1,$4,$5"%",$6}'`
if [ $m_fdisk -gt 0 ]
then
echo "warning:$m_fdisk1" >> $path
echo "`date +%F-%H:%M`" >>$path
echo "warning:$m_fdisk1 full....." | mail -s "warning" xxxxxxx0@qq.com
fi
}
##調用涵數,進行判斷,如果超過90就報警和發郵件三次,三次之后休眠1小時
m_list
a=$[$a+1]
if [ $a -ge 3 ]
then
sleep 3600
a=0
fi
done
