mail工具發送mysql 慢查郵件

mail工具發送mysql 慢查郵件

#!/bin/bash
slowfile="/home/mysql8.0.16/logs/mysql-slow.log"
tmpslow="/opt/tmp.log"
# create tmp-slow
if [ ! -e ${tmpslow}  ];then
        touch ${tmpslow}
else
        >${tmpslow}
fi

# slow-file copy to tmp-slow
if [ -s ${slowfile} ];then
        cat ${slowfile}  > ${tmpslow}

fi
# send mail
        user="root"
        pass="123456"
        host="192.168.11.253"
        port=3308
info() {
        time_first=`/home/mysql8.0.16/mysql/bin/mysql -u$user -p$pass -h$host -P$port=3308 -e "select now();" |awk 'END{print}'`
        time_second=`/home/mysql8.0.16/mysql/bin/mysql -u$user -p$pass -h$host -P$port=3308 -e "select ADDTIME(sysdate(),'0:10:0');" |awk 'END{print}'`
        StartTime=`grep -E "Time" /home/mysql8.0.16/logs/mysql-slow.log | awk '{print $3}'`
        DBname=`/home/mysql8.0.16/mysql/bin/mysql -u$user -p$pass -h$host -P$port=3308 -e "select database();"|awk 'END{print}' `
        SQLtext=`awk 'END{print}' /home/mysql8.0.16/logs/mysql-slow.log`
        repeat=`awk '/Rows_examined/{print $NF}' /home/mysql8.0.16/logs/mysql-slow.log`
        QueryTimes=` awk '/Query_time/{print $3}' /home/mysql8.0.16/logs/mysql-slow.log`
        HostAdress=`awk -F "[: ]+" '/User@Host/{print $3,$4,$5}' /home/mysql8.0.16/logs/mysql-slow.log`
        LockTime=`awk '/Lock_time/{print $5}' /home/mysql8.0.16/logs/mysql-slow.log`
        echo "time_range: " $time_first "-" $time_second
        echo -e "\n"
        echo "StartTime: " $StartTime
        echo "DBname: "$DBname
        echo "SQLtext: "$SQLtext
        echo "repeat: "$repeat
        echo "QueryTimes: "$QueryTimes
        echo "HostAdress: "$HostAdress
        echo "LockTime: "$LockTime
}
# 調用函數且發送郵件
if [ -s ${tmpslow} ];then
        main(){
        info > /home/mysql8.0.16/logs/info.log
        echo "mysql slow log already sending!" | mail -s "mysql slow log" [email protected]  < /home/mysql8.0.16/logs/info.log
}
main
fi
if [ -s ${slowfile} ];then
        >${slowfile}
fi

或者

#!/bin/bash
dt=`date +%Y_%m_%d`
 /bin/pt-query-digest  /home/mysql8.0.16/logs/mysql-slow.log >/opt/slow$dt.log
echo "(xxx平臺host: 68.0.1)上週最新慢日誌,請查收!"  | /bin/mail -s "last_week.SLOWlog"  -a /opt/slow$dt.log  [email protected]
cp -f /home/mysql8.0.16/logs/mysql-slow.log  /opt/$dtslow.log >/opt/slow.log
find /data/weekly/slow/ -mtime +15 -name "*slow*.log" -exec rm -rf {} \;
 

安裝mailx軟件

# yum install mailx -y 

vi /etc/nail.rc(在配置文件最後添加)
set [email protected]   #(需修改)收件人顯示的發件人名稱,可填寫你的名字等
set smtp=smtp.exmail.xx.com  (需修改)你所使用的外部郵箱的smtp服務器地址
set [email protected] (需修改)你所使用的外部郵箱的用戶名
set smtp-auth-password=1980019Ss  (需修改)你所使用的外部郵箱密碼
set smtp-auth=login
測試
echo 123 | mailx -v -s "test" [email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章