QSHAPE(1)                                                            QSHAPE(1)

NAME
       qshape - Print Postfix queue domain and age distribution

SYNOPSIS
       qshape [-s] [-p] [-m min_subdomains]
               [-b bucket_count] [-t bucket_time]
               [-l] [-w terminal_width]
               [-N batch_msg_count] [-n batch_top_domains]
               [-c config_directory] [queue_name ...]

DESCRIPTION
       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 postfix).

       Options:

       -s     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
              message distribution.

       -p     Generate  aggregate  statistics  for  parent  domains. Top level
              domains are not shown, nor are domains with fewer than  min_sub-
              domains subdomains. The names of parent domains are shown with a
              leading dot, (e.g. .example.com).

       -m min_subdomains
              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.

       -b bucket_count
              The age distribution is broken up into a sequence  of  geometri-
              cally  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 age limit.

       -t bucket_time
              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.

       -l     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.

       -w terminal_width
              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 speci-
              fied 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.

       -N batch_msg_count
              When  the  output device is a terminal, intermediate results are
              shown each  "batch_msg_count"  messages.  This  produces  usable
              results  in  a  reasonable  time even when the deferred queue is
              large. The default is to show intermediate  results  every  1000
              messages.

       -n batch_top_domains
              When  reporting  intermediate  or  final results to a termainal,
              report only the top  "batch_top_domains"  domains.  The  default
              limit is 20 domains.

       -c config_directory
              The main.cf configuration file is in the named directory instead
              of the default configuration directory.

       Arguments:

       queue_name
              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.cf queue_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  subdirec-
              tory even if you want the default incoming and active queue dis-
              tribution.

SEE ALSO
       mailq(1), List all messages in the queue.
       QSHAPE_README Examples and background material.

FILES
       $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.

LICENSE
       The Secure Mailer license must be distributed with this software.

AUTHOR(S)
       Victor Duchovni
       Morgan Stanley

                                                                     QSHAPE(1)