Qui di seguito un piccolo script di monitoraggio molto utile per tenere sotto controllo lo stato attuale delle email in coda fornendo una somma per ogni categoria di Postfix (Active, Deffered, Bounce ecc ecc).
#!/usr/bin/env perl 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");
Salvare lo script col nome desiderato e successivamente richiamarlo:
# ./queuestatus Incoming: 0 Active: 0 Deferred: 8 Bounced: 6 Hold: 0 Corrupt: 0