2006年7月21日 星期五

一次送十幾萬封信給自己是要作什麼…

今天收信收不到不要怪我們啊…



今天早上收信收沒幾封就覺得好像有點怪怪的,後來才知道有人的程式耍白爛從昨天傍晚開始就拼命寄信給自己,寄了數個小時我們的 Anti Spam/Virus Server 終於受不了陷入癱瘓狀態,最後後端就收不到信,該程式持續寄了十幾個小時直到早上終於被使用者停止,可是已經寄了十幾萬封信以上,連要列出 mail queue 跑個幾分鐘都沒辦法列完,本來想用類似這樣的指令把那十幾萬封信件刪掉

postqueue -p | grep Jul | grep sender | awk `{print $1}` | grep -v "Jul" | xargs postsuper -d


結果似乎沒出現正常 postsuper 刪除單封信件時的訊息,而且信件實在太多,要把 queue file ID 一次寫進檔案等半天也寫不完,就很白爛地一次寫一千個 queue file ID 到檔案,再讀出來用 postsuper -d 刪除…

#!/bin/sh

rm -f id_list

postqueue -p | grep Jul | grep sender | awk '{print $1} | grep -v "Jul" | head -1000 > id_list

for i in `cat id_list`

do

postsuper -d $i

done


感覺相當白爛,刪了相當久才刪完,只是不知道 xargs 還是哪裡寫錯了,google 了一下別人用的組合指令似乎和我用的也相去不遠啊@_@