如果日誌超過 90M,則發送電子郵件的腳本

如果日誌超過 90M,則發送電子郵件的腳本

我有下面的腳本來檢查日誌檔案的大小。如果它成長到超過 84M,則應使用當前日期重新命名,並且我的應用程式會自動產生一個新的。但是它不會使用 cron 任務自動運行。幫我新增程式碼來檢查是否達到 84M 向我發送電子郵件,然後我可以手動執行腳本。

#!/bin/bash
#Andrew O. MBX 2016-01-26
#HansaWorld Script to Check Size of Hansa.log file
# and move it to a new folder HansaLogs

tstamp=$(date "+%m%d%Y")                    #Set Timestamp
logdir="/u/HansaWorldLive/HansaLogs"            #Set path to where hansa.log will be moved
logname="/u/HansaWorldLive/hansa.log"               #Set Path to hansa.log file
maximumsize= +83500K                    #Set maximumsize
actualsize=$(wc -c<"$logname")
if [ $actualsize -ge $maximumsize ]; then
    mv "$logname" "$logdir/hansa_${tstamp}.log" #Move the Log file and rename by adding timestamp
    else
    echo size is under $maximumsize bytes
exit 1
fi

答案1

sudo gedit /etc/crontab

將以下行新增至文件底部:

00 *  * * *  MYUSERNAME  bash /path/to/my/file &> /dev/null

這將/path/to/my/file每小時運行一次 bash,如果你想改變頻率,請閱讀更多關於定時任務表

至於電子郵件發送,這是另一個問題的一個更大的設置,已經得到了答案。像這樣的東西這是一個開始,但谷歌是你的朋友。

相關內容