linux下新建監視任務自動發郵件

由於須要在log文件超過必定大小時發郵件通知我本身去查看log,就簡單地用linux的定時任務檢查、發郵件
linux


由於只須要用到客戶端,因此那些什麼郵件服務器設置之類的就暫時沒用了。shell

1.設置郵件信息tomcat

vi /etc/mail.rcbash

添加下面幾行設置發送郵件的帳號信息,我用的是163的郵箱服務器

set from=***@163.comcode

set smtp=smtp://smtp.163.com:25crontab

set smtp-auth-user=***@163.comit

set smtp-auth-password=***class


2.編寫自動發送郵件腳本awk

腳本名爲notice.sh

#/bin/bash
size1=`du -k /usr/local/tomcatlog/a.log | awk '{print $1}'`
size2=`du -k /usr/local/tomcatlog/b.log | awk '{print $1}'`
size3=`du -k /usr/local/tomcatlog/c.log | awk '{print $1}'`
if [ $size1 -gt 500 -o $size2 -gt 500 -o $size3 -gt 500 ] ; then
mail -s "title" *****@qq.com < /usr/local/mail/mail.txt
else
exit 0
fi


判斷3個log文件是否有大於500k的,有就發郵件到我本身的QQ郵箱。

linux shell bash賦值時=左右不能爲空 用$表示變量 用-o表示邏輯或,-a表示邏輯與,!表示邏輯非;

if [];then fi []中間有空格

mail 的內容從mail.txt中讀取。


3.設置定時任務

crontab -e

0 11,23 * * * sh /usr/local/mail/notice.sh

保存退出

crontab -l查看定時任務是否是已經加入了

//天天的11點、23點執行任務檢查log大小是否超過500k,超過就發送郵件

而後就能夠了。

相關文章
相關標籤/搜索