Man Linux: Main Page and Category List

NAME

       exim_lock - Mailbox maintenance

SYNOPSIS

       exim_lock [options]mailbox-file

DESCRIPTION

       The  exim_lock utility locks a mailbox file using the same algorithm as
       Exim.  For a discussion of locking issues, see section 25.2.  exim_lock
       can  be used to prevent any modification of a mailbox by Exim or a user
       agent while investigating a problem.  The utility requires the name  of
       the  file  as  its  first  argument.  If the locking is successful, the
       second argument is run as a command (using C's "system()" function); if
       there  is  no  second  argument,  the  value  of  the SHELL environment
       variable is used; if this is unset or empty, /bin/sh is run.  When  the
       command  finishes,  the  mailbox is unlocked and the utility ends.  The
       following options are available:

       -fcntl Use "fcntl()" locking on the open mailbox.

       -interval
              This must be followed by a number, which is a number of seconds;
              it sets the interval to sleep between retries (default 3).

       -lockfile
              Create a lock file before opening the mailbox.

       -mbx   Lock the mailbox using MBX rules.

       -q     Suppress verification output.

       -retries
              This  must  be followed by a number; it sets the number of times
              to try to get the lock (default 10).

       -timeout
              This must be followed by a number, which is a number of seconds;
              it sets a timeout to be used with a blocking "fcntl()" lock.  If
              it is not set (the default), a non-blocking call is used.

       -v     Generate verbose output.

              If none of -fcntl, -lockfile or -mbx are given, the  default  is
              to  create  a  lock  file  and also use "fcntl()" locking on the
              mailbox, which is the same as Exim's default.  The use of -fcntl
              requires  that  the  file  be  writable;  the  use  of -lockfile
              requires that the directory containing  the  file  be  writable.
              Locking by lock file does not last for ever; Exim assumes that a
              lock file is expired if it is more than 30 minutes old.

              The -mbx option is mutually exclusive with -fcntl.  It causes  a
              shared  lock  to  be  taken  out  on  the  open  mailbox, and an
              exclusive lock on the file /tmp/.n.m  where  n  and  m  are  the
              device  number  and  inode number of the mailbox file.  When the
              locking is released, if an exclusive lock can  be  obtained  for
              the mailbox, the file in /tmp is deleted.

              The  default  output  contains  verification of the locking that
              takes place.  The -v option causes some  additional  information
              to  be  given.  The -q option suppresses all output except error
              messages.

       A command such as

         exim_lock /var/spool/mail/spqr

       runs an interactive shell while the file is locked, whereas

         exim_lock -q /var/spool/mail/spqr <<End
         <some commands>
         End

       runs a specific non-interactive sequence of commands while the file  is
       locked,  suppressing  all verification output.  A single command can be
       run by a command such as

         exim_lock  -q   /var/spool/mail/spqr       "cp   /var/spool/mail/spqr
       /some/where"

       Note  that  if  a  command  is  supplied, it must be entirely contained
       within the second argument - hence the quotes.

BUGS

       This manual page needs a major re-work. If somebody knows better  groff
       than  us  and  has more experience in writing manual pages, any patches
       would be greatly appreciated.

SEE ALSO

       exim(8), /usr/share/doc/exim4-base/

AUTHOR

       This manual page was stitched together from spec.txt by Andreas Metzler
       <ametzler  at downhill.at.eu.org>, for the Debian GNU/Linux system (but
       may be used by others).

                                March 26, 2003