    POSTLOCK(1)                                                        POSTLOCK(1)

    NAME
           postlock - lock mail folder and execute command

    SYNOPSIS
           postlock [-c config_dir] [-l lock_style]
                   [-v] file command...

    DESCRIPTION
           The  postlock(1)  command locks file for exclusive access, and executes
           command. The locking method is compatible with the  Postfix  UNIX-style
           local delivery agent.

           Options:

           -c config_dir
                  Read  the  main.cf  configuration  file  in  the named directory
                  instead of the default configuration directory.

           -l lock_style
                  Override the locking method  specified  via  the  mailbox_deliv-
                  ery_lock configuration parameter (see below).

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

           Arguments:

           file   A mailbox file. The user should have read/write permission.

           command...
                  The command to  execute  while  file  is  locked  for  exclusive
                  access.   The  command is executed directly, i.e. without inter-
                  pretation by a shell command interpreter.

    DIAGNOSTICS
           The result status is 75 (EX_TEMPFAIL) when postlock(1) could  not  per-
           form  the  requested operation.  Otherwise, the exit status is the exit
           status from the command.

    BUGS
           With remote file systems, the ability to acquire a lock does not neces-
           sarily  eliminate access conflicts. Avoid file access by processes run-
           ning on different machines.

    ENVIRONMENT
           MAIL_CONFIG
                  Directory with Postfix configuration files.

           MAIL_VERBOSE
                  Enable verbose logging for debugging purposes.

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

    LOCKING CONTROLS
           deliver_lock_attempts (20)
                  The maximal number of attempts to acquire an exclusive lock on a
                  mailbox file or bounce(8) logfile.

           deliver_lock_delay (1s)
                  The  time  between  attempts  to  acquire an exclusive lock on a
                  mailbox file or bounce(8) logfile.

           stale_lock_time (500s)
                  The time after which  a  stale  exclusive  mailbox  lockfile  is
                  removed.

           mailbox_delivery_lock (see 'postconf -d' output)
                  How  to  lock  a  UNIX-style  local(8) mailbox before attempting
                  delivery.

    RESOURCE AND RATE CONTROLS
           fork_attempts (5)
                  The maximal number of attempts to fork() a child process.

           fork_delay (1s)
                  The delay between attempts to fork() a child process.

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

           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.

    SEE ALSO
           postconf(5), configuration parameters

    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

                                                                       POSTLOCK(1)