Sonek sırası boyutunu nasıl kontrol ederim?


Yanıtlar:




27
qshape aktif

size her bir alana gönderilen e-posta sayısını ve etkin sırada ne kadar süre kaldıklarını

ertelenmiş qshape 

size aynısını gösterecek, ancak ertelenen sıra için


15

İşte kullandığım, postfix mail listesinden alındığı. Burada istemiyorsa, yazarın adını kaldırdım (kaynağında görebilirsiniz). Sadece toplamları gösterir.

#!/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: 26. hatta bir yazım hatası düzeltildi.


Harika komut dosyası ve IMHO standart Postfix dağıtımının bir parçası olmalıdır. Mailq / postqueue aksine, baskı altındaki bir sıranın hemen yanıtını verir
Alexander Pogrebnyak

countFonksiyonun belirli bir uygulaması konusunda sadece bir uyarı . Enable_long_queue_ids = yes ', Postfix 2.9+ sürümünde başarısız olur. Uzun kuyruk kimlikleri düzeltmek için çok zor olmamalı bence.
Alexander Pogrebnyak

10

postqueue -p | tail -n 1

Şovdaki son satırda postqueue -pkaç tane istek ve boyut gösterilmektedir:

-- 317788 Kbytes in 11860 Requests.


Bu komut, sıradaki e-postaları görüntüleyen döngüleri boşa harcamadığından hızlı bir şekilde çalışır. Sadece toplamı istiyorsanız, bunu çalıştırın.
Paul Calabro


5

Eğer yoksa qshape, aşağıdaki yum komutları ile yükleyebilirsiniz:

yum groupinstall perl development
yum install postfix-perl-scripts

qshape Postfix kuyruk etki alanı ve yaş dağılımı bilgilerini yazdırır. Burada daha fazla okuyabilirsiniz:

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

Örnek çıktı

% 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

2

İşte bir örnek.

#!/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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.