it-swarm-vi.tech

Làm cách nào để kiểm tra kích thước hàng đợi postfix?

Hậu tố tương đương với sendmail -bp?

55
Gary Richardson

Hoặc, ít gõ:

mailq
67
womble
[.__.] qshape hoạt động [.__.]

sẽ cho bạn biết số lượng email được gửi đến từng tên miền và thời gian chúng tồn tại trong hàng đợi hoạt động

[.__.] qshape hoãn lại [.__.]

sẽ cho bạn thấy tương tự nhưng đối với hàng đợi

27
Alistair Prestidge
postqueue -p
27
Andrejs Cainikovs

Đây là những gì tôi sử dụng, loại ra khỏi danh sách gửi thư hậu tố. Tôi đã xóa tên tác giả, trong trường hợp anh ta không muốn nó ở đây (bạn có thể thấy nó ở nguồn). Nó chỉ hiển thị tổng số.

#!/usr/bin/env Perl

# postfix queue/s size
# author: 
# source: http://tech.groups.yahoo.com/group/postfix-users/message/255133

use strict;
use warnings;
use Symbol;
sub count {
        my ($dir) = @_;
        my $dh = gensym();
        my $c = 0;
        opendir($dh, $dir) or die "$0: opendir: $dir: $!\n";
        while (my $f = readdir($dh)) {
                if ($f =~ m{^[A-F0-9]{5,}$}) {
                        ++$c;
                } elsif ($f =~ m{^[A-F0-9]$}) {
                        $c += count("$dir/$f");
                }
        }
        closedir($dh) or die "closedir: $dir: $!\n";
        return $c;
}
my $qdir = `postconf -h queue_directory`;
chomp($qdir);
chdir($qdir) or die "$0: chdir: $qdir: $!\n";
printf "Incoming: %d\n", count("incoming");
printf "Active: %d\n", count("active");
printf "Deferred: %d\n", count("deferred");
printf "Bounced: %d\n", count("bounce");
printf "Hold: %d\n", count("hold");
printf "Corrupt: %d\n", count("corrupt");

EDIT: Đã sửa lỗi chính tả trên dòng 26.

15
mikewaters

postqueue -p | tail -n 1

Dòng cuối cùng trong postqueue -p hiển thị có bao nhiêu yêu cầu và kích thước:

-- 317788 Kbytes in 11860 Requests.

[root @ server ~] # thời gian mailq | grep -c '^ [0-9A-Z]'

10

số 0m1.333 thực

người dùng 0m0.003s

sys 0m0.003s

(kết quả trên cho thấy có 10 email đang xếp hàng)

5

Nếu bạn không có qshape bạn có thể cài đặt nó thông qua các lệnh yum sau:

yum groupinstall Perl development
[.__.] yum install postfix-Perl-scripts

qshape in tên miền hàng đợi Postfix và thông tin phân phối tuổi. Bạn có thể đọc thêm về nó ở đây:

http://www.postfix.org/QSHAPE_README.html

Ví dụ đầu ra

% qshape -s hold | head
                         T  5 10 20 40 80 160 320 640 1280 1280+
                 TOTAL 486  0  0  1  0  0   2   4  20   40   419
             yahoo.com  14  0  0  1  0  0   0   0   1    0    12
  extremepricecuts.net  13  0  0  0  0  0   0   0   2    0    11
        ms35.hinet.net  12  0  0  0  0  0   0   0   0    1    11
      winnersdaily.net  12  0  0  0  0  0   0   0   2    0    10
           hotmail.com  11  0  0  0  0  0   0   0   0    1    10
           worldnet.fr   6  0  0  0  0  0   0   0   0    0     6
        ms41.hinet.net   6  0  0  0  0  0   0   0   0    0     6
                osn.de   5  0  0  0  0  0   1   0   0    0     4
5
Brock Hensley

Đây là một ví dụ.

#!/bin/bash

for q in active  bounce  corrupt  defer  deferred  flush  hold  incoming  maildrop  pid  private  public  saved  trace

    do
        count=$(find /var/spool/postfix/$q ! -type d -print | wc -l)
        echo $q $count
    done
2
Doug_Cowie