今天早上收信收沒幾封就覺得好像有點怪怪的,後來才知道有人的程式耍白爛從昨天傍晚開始就拼命寄信給自己,寄了數個小時我們的 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 了一下別人用的組合指令似乎和我用的也相去不遠啊@_@