因為需要在log檔案超過一定大小時發郵件通知我自己去檢視log,就簡單地用linux的定時任務檢查、發郵件
因為只需要用到客戶端,所以那些什麼郵件伺服器設定之類的就暫時沒用了。
1.設定郵件資訊
vi /etc/mail.rc
新增下面幾行設定傳送郵件的賬號資訊,我用的是163的郵箱
set from=***@163.com
set smtp=smtp:
set smtp-auth-user=***@163.com
set smtp-auth-password=***
2.編寫自動傳送郵件指令碼
指令碼名為notice.sh
#/bin/bash
size1=`du -k /usr/local/tomcatlog/a.log | awk ''`
size2=`du -k /usr/local/tomcatlog/b.log | awk ''`
size3=`du -k /usr/local/tomcatlog/c.log | awk ''`
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,超過就傳送郵件
然後就可以了。
linux新建自動任務沒有執行問題排查
在linux新建刪除日誌任務時,手動執行沒問題,用crontab e新建後一直沒執行,問題排查過程 1.檢視自動任務日誌 tailf var log cron 遇到的問題 failed to authorize user with pam module is unknown 解決 重啟crond e...
linux新建定時任務
linux aix 使用crontab e命令,再最後一行加入改功能指令碼,例如 10 12 sh oracle orabak orabak.sh 關於linux下crontab的使用 minute hour day month dayofweek command minute 從0到59的整數 h...
linux下監視程序,若程序關閉則自動重啟
從事嵌入式行業已經3年,說來慚愧,我目前除了電路系統設計,pcb設計,while 1 系統程式設計就基本上不會什麼了。面對外面世界的巨大壓力,我覺得提公升自我已經是一件刻不容緩的事情,於是在上週開始,我決定要接觸嵌入式linux。前天在群裡遇到位仁兄提到他有個程式總是莫名其妙地自動關閉,他希望有段程...