環境: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