郵件信箱是否爆炸之定時偵測
學校有台老師們常用的 mail server, 在上面的帳號確實也不少,但是空間每人只有 200 MB,如果沒有常常去收信與刪信的人,一不小心,信箱就會爆炸,信件便塞不進去了。
暑假時曾看過某校會自動偵測與統計,然後把結果吐成 html,這樣在網頁上便可以直接看了,我認為這樣方便多了。
本來要去請教設置的人是如何做到的,後來轉念想了想,先不要問,自己應該也可以實作的出來,如果問了,很容易落入與他相同的思考窠臼當中。
想法整理了一下:
- 首先,我只要知道目前 "誰" 的用量超出某一個 "數" (臨界值,門檻) ,然後,把 "他" "抓" 出來便可以了,那這個任務~ find 便可以辦的到。
- 其次,我要抓出來的東西,可以被我加工,加減字串之類的動作,那這個任務~ sed 可以辦的到。
- 最後,要能夠定時執行,那這個任務~ cron 可以辦的到。
有了想法之後,開始實作了。
- 製作要呈現網頁的頭與尾兩個檔(header.html, footer.html),其實一個便可,但是待會要耗費比較多的精神來計算
-
echo -n "更新時間: " > name-list.html
date +%Y-%m-%d-%H:%M:%S >> name-list.html - find /var/mail/ -size +196000k -exec ls {} \; | sort | cut -b 11- > name-list.txt
- sed -e 's/^/<li>/g' name-list.txt > name-list-1.txt
- sed -e 's/$/</li>/g' name-list-1.txt >> name-list.html
- cat header.html name-list.html footer.html > mail-quota.html
- 把這些過程收集起來,寫成一個 script,然後丟到 cron 裡去跑,就完工了。
註: 嗯~ 我需要在網頁上註明更新時間
註:關鍵問題(1)~~~抓出符合特定條件的特定人,排序一下,再抓出要的字串部份,最後再倒到某個檔案,以便加工用
註: 關鍵問題(2)~~~每行前面加上 html 的標籤頭
註: 關鍵問題(2)~~~每行後面加上 html 的標籤尾
註:把頭,中,尾三個檔案,合併成要一個要呈現出來的網頁檔
