linux下新建監視任務自動發郵件
阿新 • • 發佈:2019-02-03
索引還沒建完,繼續發表記錄的東西,該不會要到天亮吧……2013-8-24 3:41:00
因為需要在log檔案超過一定大小時發郵件通知我自己去檢視log,就簡單地用linux的定時任務檢查、發郵件
因為只需要用到客戶端,所以那些什麼郵件伺服器設定之類的就暫時沒用了。
1.設定郵件資訊 vi /etc/mail.rc 新增下面幾行設定傳送郵件的賬號資訊,我用的是163的郵箱 set from=***@163.com set smtp=smtp://smtp.163.com:25 set smtp-auth-user=***@163.com set smtp-auth-password=***2.編寫自動傳送郵件指令碼 指令碼名為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,超過就傳送郵件然後就可以了。