由於須要在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,超過就發送郵件
而後就能夠了。