Vraag Hoe controleer ik de postfix-wachtrijgrootte?


Waar is de postfix equivalent aan? sendmail -bp?


50
2017-08-25 00:48


oorsprong




antwoorden:


Of, minder typen:

mailq

63
2017-08-25 01:03





postqueue -p

26
2017-08-25 00:56





qshape actief

toont u het aantal e-mails dat naar elk domein wordt verzonden en hoe lang ze in de actieve wachtrij zijn geweest

qshape uitgesteld

zal je hetzelfde laten zien, maar voor de uitgestelde rij


26
2017-10-13 13:05





Dit is wat ik gebruik, geruimd uit de postfix-mailinglijst. Ik heb de naam van de auteur verwijderd, voor het geval hij het hier niet wil (je kunt het aan de bron zien). Het geeft alleen totalen weer.

#!/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: een typfout opgelost op regel 26.


14
2017-11-10 19:42



Gedaan. Bedankt voor de tip. - mikewaters
Geweldig script en IMHO zou een onderdeel moeten zijn van de standaard Postfix-distributie. In tegenstelling tot mailq / postqueue wordt onmiddellijk antwoord geretourneerd voor een wachtrij onder dwang - Alexander Pogrebnyak
Slechts een woord van waarschuwing over de specifieke implementatie van count functie. Het zal mislukken in Postfix 2.9+ wanneer enable_long_queue_ids = yes '. Ik denk dat het niet te moeilijk zou zijn om het te repareren voor lange wachtrij-ID's. - Alexander Pogrebnyak


postqueue -p | tail -n 1

Laatste regel in de postqueue -p laat zien hoeveel verzoeken en grootte:

-- 317788 Kbytes in 11860 Requests.


9
2017-09-30 08:43



Deze opdracht wordt snel uitgevoerd omdat er geen cycli verloren gaan die de afzonderlijke e-mails in de wachtrij weergeven. Als u alleen het totaal wilt, voer dit dan uit. - Paul Calabro


[root @ server ~] # tijd mailq | grep -c '^ [0-9A-Z]'

10

echte 0m1.333s

gebruiker 0m0.003s

sys 0m0.003s

(bovenstaand resultaat geeft aan dat er 10 e-mails in wachtrij staan)


5
2018-01-21 07:08



Korter: mailq | grep -c '^ \ w' - Antonio Bardazzi


Als je het niet hebt qshape je kunt het installeren via de volgende yum-commando's:

yum groupinstall perl development
yum install postfix-perl-scripts

qshape print Postfix wachtrij domein en leeftijdsverdeling informatie. Je kunt hier meer over lezen:

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

Voorbeelduitvoer

% 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
2018-04-06 14:15





Hier is een voorbeeld.

#!/bin/bash

for q in maildrop incoming active defer deferred

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

1
2018-02-24 02:57