postsuper(1) - phpMan

Command: man perldoc info search(apropos)  


POSTSUPER(1)                         General Commands Manual                         POSTSUPER(1)

NAME
       postsuper - Postfix superintendent

SYNOPSIS
       postsuper [-psSv]
               [-c config_dir] [-d queue_id]
               [-e queue_id] [-f queue_id]
               [-h queue_id] [-H queue_id]
               [-r queue_id] [directory ...]

DESCRIPTION
       The postsuper(1) command does maintenance jobs on the Postfix queue. Use of the command is
       restricted to the superuser.  See the postqueue(1) command for unprivileged  queue  opera-
       tions such as listing or flushing the mail queue.

       By default, postsuper(1) performs the operations requested with the -s and -p command-line
       options on all Postfix queue directories - this includes the incoming,  active,  deferred,
       and hold directories with message files and the bounce, defer, trace and flush directories
       with log files.

       Options:

       -c config_dir
              The main.cf configuration file is in the named directory  instead  of  the  default
              configuration directory. See also the MAIL_CONFIG environment setting below.

       -d queue_id
              Delete  one  message with the named queue ID from the named mail queue(s) (default:
              hold, incoming, active and deferred).

              To delete multiple files, specify the  -d  option  multiple  times,  or  specify  a
              queue_id  of  -  to  read queue IDs from standard input. For example, to delete all
              mail with exactly one recipient user AT example.com:

              postqueue -j | jq '
                  # See JSON OBJECT FORMAT section in the postqueue(1) manpage
                  select(.recipients[0].address == "user AT example.com")
                  | select(.recipients[1].address == null)
                  | .queue_id
               ' | postsuper -d -

              Or the historical form:

              mailq | tail -n +2 | grep -v '^ *(' | awk  'BEGIN { RS = "" }
                  # $7=sender, $8=recipient1, $9=recipient2
                  { if ($8 == "user AT example.com" && $9 == "")
                        print $1 }
               ' | tr -d '*!' | postsuper -d -

              Specify "-d ALL" to remove all messages; for example, specify "-d ALL deferred"  to
              delete  all  mail in the deferred queue.  As a safety measure, the word ALL must be
              specified in upper case.

              Warning: Postfix queue IDs are reused (always with Postfix <= 2.8; and with Postfix
              >=  2.9  when  enable_long_queue_ids=no).   There  is a very small possibility that
              postsuper deletes the wrong message file when it is executed while the Postfix mail
              system is delivering mail.

              The scenario is as follows:

              1)     The  Postfix queue manager deletes the message that postsuper(1) is asked to
                     delete, because Postfix is finished with the message (it is delivered, or it
                     is returned to the sender).

              2)     New mail arrives, and the new message is given the same queue ID as the mes-
                     sage that postsuper(1) is supposed to delete.  The probability for reusing a
                     deleted  queue  ID  is about 1 in 2**15 (the number of different microsecond
                     values that the system clock can distinguish within a second).

              3)     postsuper(1) deletes the new message, instead of the  old  message  that  it
                     should have deleted.

       -e queue_id

       -f queue_id
              Request forced expiration for one message with the named queue ID in the named mail
              queue(s) (default: hold, incoming, active and deferred).

              o      The message will be returned to the sender when the queue  manager  attempts
                     to  deliver  that  message (note that Postfix will never deliver messages in
                     the hold queue).

              o      The -e and -f options both request forced expiration. The difference is that
                     -f  will  also release a message if it is in the hold queue. With -e, such a
                     message would not be returned to the sender until it is released with -f  or
                     -H.

              o      When  a deferred message is force-expired, the return message will state the
                     reason for the delay. Otherwise, the reason will be "message is  administra-
                     tively expired".

              To  expire multiple files, specify the -e or -f option multiple times, or specify a
              queue_id of - to read queue IDs from standard input (see the -d option above for an
              example, but be sure to replace -d in the example).

              Specify  "-e  ALL" or "-f ALL" to expire all messages; for example, specify "-e ALL
              deferred" to expire all mail in the deferred queue.  As a safety measure, the  word
              ALL must be specified in upper case.

              These features are available in Postfix 3.5 and later.

       -h queue_id
              Put mail "on hold" so that no attempt is made to deliver it.  Move one message with
              the named queue ID from the named mail queue(s) (default: incoming, active and  de-
              ferred) to the hold queue.

              To hold multiple files, specify the -h option multiple times, or specify a queue_id
              of - to read queue IDs from standard input.

              Specify "-h ALL" to hold all messages; for example, specify "-h  ALL  deferred"  to
              hold  all  mail  in  the deferred queue.  As a safety measure, the word ALL must be
              specified in upper case.

              Note: while mail is "on hold" it will not expire when its time in the queue exceeds
              the  maximal_queue_lifetime or bounce_queue_lifetime setting. It becomes subject to
              expiration after it is released from "hold".

              This feature is available in Postfix 2.0 and later.

       -H queue_id
              Release mail that was put "on hold".  Move one message with the named queue ID from
              the named mail queue(s) (default: hold) to the deferred queue.

              To  release  multiple  files,  specify  the  -H option multiple times, or specify a
              queue_id of - to read queue IDs from standard input.

              Note: specify "postsuper -r" to release mail that was kept on hold for  a  signifi-
              cant fraction of $maximal_queue_lifetime or $bounce_queue_lifetime, or longer.

              Specify  "-H  ALL" to release all mail that is "on hold".  As a safety measure, the
              word ALL must be specified in upper case.

              This feature is available in Postfix 2.0 and later.

       -p     Purge old temporary files that are left over after system or software crashes.  The
              -p, -s, and -S operations are done before other operations.

       -r queue_id
              Requeue  the message with the named queue ID from the named mail queue(s) (default:
              hold, incoming, active and deferred).

              To requeue multiple files, specify the -r  option  multiple  times,  or  specify  a
              queue_id of - to read queue IDs from standard input.

              Specify "-r ALL" to requeue all messages. As a safety measure, the word ALL must be
              specified in upper case.

              A requeued message is moved to the maildrop queue, from where it is copied  by  the
              pickup(8) and cleanup(8) daemons to a new queue file. In many respects its handling
              differs from that of a new local submission.

              o      The message is not subjected to the smtpd_milters or non_smtpd_milters  set-
                     tings.   When mail has passed through an external content filter, this would
                     produce incorrect results with Milter applications that depend  on  original
                     SMTP connection state information.

              o      The  message  is subjected again to mail address rewriting and substitution.
                     This is useful when rewriting rules or virtual mappings have changed.

                     The address rewriting context (local or remote) is the same as when the mes-
                     sage was received.

              o      The  message  is  subjected  to the same content_filter settings (if any) as
                     used for new local mail submissions.  This  is  useful  when  content_filter
                     settings have changed.

              Warning: Postfix queue IDs are reused (always with Postfix <= 2.8; and with Postfix
              >= 2.9 when enable_long_queue_ids=no).  There is  a  very  small  possibility  that
              postsuper(1)  requeues the wrong message file when it is executed while the Postfix
              mail system is running, but no harm should be done.

              This feature is available in Postfix 1.1 and later.

       -s     Structure check and structure repair.  This should  be  done  once  before  Postfix
              startup.  The -p, -s, and -S operations are done before other operations.

              o      Rename  files  whose name does not match the message file inode number. This
                     operation is necessary after restoring a mail queue from a different machine
                     or  from  backup,  when queue files were created with Postfix <= 2.8 or with
                     "enable_long_queue_ids = no".

              o      Move queue files that are in the wrong place in the  file  system  hierarchy
                     and  remove  subdirectories  that  are  no longer needed.  File position re-
                     arrangements are necessary after a change  in  the  hash_queue_names  and/or
                     hash_queue_depth configuration parameters.

              o      Rename  queue  files  created  with  "enable_long_queue_ids  = yes" to short
                     names, for migration to Postfix <= 2.8.  The procedure is as follows:

                     # postfix stop
                     # postconf enable_long_queue_ids=no
                     # postsuper

                     Run postsuper(1) repeatedly until it stops reporting file name changes.

       -S     A redundant version of -s that requires that long file names also match the message
              file  inode  number. This option exists for testing purposes, and is available with
              Postfix 2.9 and later.  The -p, -s, and -S operations are done before other  opera-
              tions.

       -v     Enable  verbose  logging for debugging purposes. Multiple -v options make the soft-
              ware increasingly verbose.

DIAGNOSTICS
       Problems are reported to the standard error stream and to syslogd(8) or postlogd(8).

       postsuper(1) reports the number of messages deleted with -d, the number  of  messages  ex-
       pired  with -e, the number of messages expired or released with -f, the number of messages
       held or released with -h or -H, the number of messages requeued with -r, and the number of
       messages  whose  queue  file name was fixed with -s. The report is written to the standard
       error stream and to syslogd(8) or postlogd(8).

ENVIRONMENT
       MAIL_CONFIG
              Directory with the main.cf file.

BUGS
       Mail that is not sanitized by Postfix (i.e. mail in the maildrop queue) cannot  be  placed
       "on hold".

CONFIGURATION PARAMETERS
       The  following main.cf parameters are especially relevant to this program.  The text below
       provides only a parameter summary. See postconf(5) for more details including examples.

       config_directory (see 'postconf -d' output)
              The default location of the Postfix main.cf and master.cf configuration files.

       hash_queue_depth (1)
              The  number  of  subdirectory  levels  for  queue  directories  listed   with   the
              hash_queue_names parameter.

       hash_queue_names (deferred, defer)
              The names of queue directories that are split across multiple subdirectory levels.

       import_environment (see 'postconf -d' output)
              The  list  of  environment parameters that a privileged Postfix process will import
              from a non-Postfix parent process, or name=value environment overrides.

       queue_directory (see 'postconf -d' output)
              The location of the Postfix top-level queue directory.

       syslog_facility (mail)
              The syslog facility of Postfix logging.

       syslog_name (see 'postconf -d' output)
              A prefix that is prepended to the process name in syslog records, so that, for  ex-
              ample, "smtpd" becomes "prefix/smtpd".

       Available in Postfix version 2.9 and later:

       enable_long_queue_ids (no)
              Enable long, non-repeating, queue IDs (queue file names).

SEE ALSO
       sendmail(1), Sendmail-compatible user interface
       postqueue(1), unprivileged queue operations
       postlogd(8), Postfix logging
       syslogd(8), system logging

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

AUTHOR(S)
       Wietse Venema
       IBM T.J. Watson Research
       P.O. Box 704
       Yorktown Heights, NY 10598, USA

       Wietse Venema
       Google, Inc.
       111 8th Avenue
       New York, NY 10011, USA

                                                                                     POSTSUPER(1)

Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-01-05 17:26 @52.15.71.146 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!