Postfix 佇列清理

2021-09-04 17:12:36 字數 859 閱讀 3996

postfix佇列清理

今天有同事反映發郵件速度慢,登入了郵件伺服器的後台看一下(我們的郵件伺服器是postfix+dovecot+mysql+extmail+extman

搭建的基於mysql的虛擬使用者),如圖

郵件佇列已經達到了80000封,然後我看了一下負載,已經達到20多了…….

大家都清楚負載一旦達到這個數值,伺服器的效能肯定已經相當差了。這裡就有問題了,佇列這麼多如何清理呢?

如果是把佇列全部清除的話很簡單:postsuper –d all 就ok了。但是這樣操作會產生很多問題,有的正常的還沒有傳送的佇列也會被清掉;

假如乙個乙個的清理,那太要命了,怎麼辦呢?我用postqueue –p檢視了一下,發現佇列裡的日期的兩個特點,一是日期排列不規律,

第二個特點是日期只有最近5天的。ok,有辦法了。

這是我寫的乙個指令碼:

#!/bin/bash

/usr/sbin/postqueue -p|egrep '(nov 8|nov 9)' > queue1.txt

/usr/sbin/postqueue -p|egrep '(nov 8|nov 9)'|awk '' > queue2.txt

for i in `cat /root/queue2.txt`

do/usr/sbin/postsuper -d $i

done

這個指令碼的作用是把佇列當中日期為8號和9號的的佇列寫到乙個檔案queue1.txt(包含日期等資訊),queue2.txt(只包含佇列號);

然後用乙個for迴圈來把queue2.txt裡面的所有的佇列都清除掉。執行完指令碼,過幾分鐘再看監控圖:

ok,佇列少了很多,而且伺服器的負載也已經小於5了。

Postfix 佇列清理

postfix佇列清理 今天有同事反映發郵件速度慢,登入了郵件伺服器的後台看一下 我們的郵件伺服器是postfix dovecot mysql extmail extman 搭建的基於mysql的虛擬使用者 如圖 郵件佇列已經達到了80000封,然後我看了一下負載,已經達到20多了 大家都清楚負載一...

Postfix 佇列清理

postfix佇列清理 今天有同事反映發郵件速度慢,登入了郵件伺服器的後台看一下 我們的郵件伺服器是postfix dovecot mysql extmail extman 搭建的基於mysql的虛擬使用者 如圖 郵件佇列已經達到了80000封,然後我看了一下負載,已經達到20多了 大家都清楚負載一...

Nagios監控postfix佇列

安裝 root localhost cd usr local src tarbag root localhost tarbag tar zxvf postfix queuemonitor 1.0.tar root localhost tarbag tar zxvf postfix queuemoni...