The qshape program helps the administrator understand the
Postfix queue message distribution in time and by sender domain
or recipient domain. The program needs read access to the queue
directories and queue files, so it must run as the superuser or
the mail_owner specified in main.cf (typically
Display the sender domain distribution instead of the recipient
domain distribution. By default the recipient distribution is
displayed. There can be more recipients than messages, but as
each message has only one sender, the sender distribution is a
Generate aggregate statistics for parent domains. Top level domains
are not shown, nor are domains with fewer than min_subdomains
subdomains. The names of parent domains are shown with a leading dot,
When used with the -p option, sets the minimum subdomain count
needed to show a separate line for a parent domain. The default is 5.
The age distribution is broken up into a sequence of geometrically
increasing intervals. This option sets the number of intervals
or "buckets". Each bucket has a maximum queue age that is twice
as large as that of the previous bucket. The last bucket has no
The age limit in minutes for the first time bucket. The default
value is 5, meaning that the first bucket counts messages between
0 and 5 minutes old.
Instead of using a geometric age sequence, use a linear age sequence,
in other words simple multiples of bucket_time.
This feature is available in Postfix 2.2 and later.
The output is right justified, with the counts for the last
bucket shown on the 80th column, the terminal_width can be
adjusted for wider screens allowing more buckets to be displayed
without truncating the domain names on the left. When a row for a
full domain name and its counters does not fit in the specified
number of columns, only the last 17 bytes of the domain name
are shown with the prefix replaced by a '+' character. Truncated
parent domain rows are shown as '.+' followed by the last 16 bytes
of the domain name. If this is still too narrow to show the domain
name and all the counters, the terminal_width limit is violated.
The main.cf configuration file is in the named directory
instead of the default configuration directory.
By default qshape displays the combined distribution of
the incoming and active queues. To display a different set of
queues, just list their directory names on the command line.
Absolute paths are used as is, other paths are taken relative
to the main.cfqueue_directory parameter setting.
While main.cf supports the use of $variable expansion
in the definition of the queue_directory parameter, the
qshape program does not. If you must use variable expansions
in the queue_directory setting, you must specify an explicit
absolute path for each queue subdirectory even if you want the
default incoming and active queue distribution.
mailq(1), List all messages in the queue.
QSHAPE_README Examples and background material.
$config_directory/main.cf, Postfix installation parameters.
$queue_directory/maildrop/, local submission directory.
$queue_directory/incoming/, new message queue.
$queue_directory/hold/, messages waiting for tech support.
$queue_directory/active/, messages scheduled for delivery.
$queue_directory/deferred/, messages postponed for later delivery.
The Secure Mailer license must be distributed with this software.