shell 實現檢查內存報警

使用shell 實現檢查內存大小,如果在設置的值內就顯示,否則就發郵件報警


  1. 先配置發郵件

    vi /etc/mail.rc

    添加如下信息

  2. # For Linux and BSD, this should be set.
    set bsdcompat
    
    set [email protected] smtp=smtp.163.com
    set smtp-auth-user=alvin smtp-auth-password=123456 smtp-auth=login

#注意:[email protected] 是你的郵箱賬號,alvin 是你的郵箱用戶名,123456 是你們郵箱密碼

以下是內存超標郵箱報警腳本:

[root@mysql script]# cat check_memory.sh  

#!/bin/bash
FreeMem=`free -m|awk 'NR==3 {print $NF}'`
CHARS="Current Memory is $FreeMem."
CHARS1="Memory Alert"
if [ $FreeMem -lt 1800 ]
    then
        echo $CHARS >/tmp/messages.txt
        mail -s "`date +%F-%T`$CHARS1" [email protected] </tmp/messages.txt
else
    echo $CHARS
fi

 爲了能報警發郵件,我這裏設置的比較大(1800)實際生產環境設置不用設置這麼大。

此腳本爲了演示,可以把echo $CHARS 刪除,加入定時任務,每3分鐘執行一次。

*/3 * * * * /bin/sh /server/script/check_memory.sh &>/dev/null 

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