Files
netbsd/external/ibm-public/postfix/dist/html/postmulti.1.html
2013-04-06 16:48:33 +02:00

444 lines
23 KiB
HTML

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html> <head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<title> Postfix manual - postmulti(1) </title>
</head> <body> <pre>
POSTMULTI(1) POSTMULTI(1)
<b>NAME</b>
postmulti - Postfix multi-instance manager
<b>SYNOPSIS</b>
<b>ENABLING MULTI-INSTANCE MANAGEMENT:</b>
<b>postmulti -e init</b> [<b>-v</b>]
<b>ITERATOR MODE:</b>
<b>postmulti -l</b> [<b>-aRv</b>] [<b>-g</b> <i>group</i>] [<b>-i</b> <i>name</i>]
<b>postmulti -p</b> [<b>-av</b>] [<b>-g</b> <i>group</i>] [<b>-i</b> <i>name</i>] <i>command...</i>
<b>postmulti -x</b> [<b>-aRv</b>] [<b>-g</b> <i>group</i>] [<b>-i</b> <i>name</i>] <i>command...</i>
<b>LIFE-CYCLE MANAGEMENT:</b>
<b>postmulti -e create</b> [<b>-av</b>] [<b>-g</b> <i>group</i>] [<b>-i</b> <i>name</i>] [<b>-G</b> <i>group</i>]
[<b>-I</b> <i>name</i>] [<i>param=value</i> ...]
<b>postmulti -e import</b> [<b>-av</b>] [<b>-g</b> <i>group</i>] [<b>-i</b> <i>name</i>] [<b>-G</b> <i>group</i>]
[<b>-I</b> <i>name</i>] [<b><a href="postconf.5.html#config_directory">config_directory</a>=</b><i>/path</i>]
<b>postmulti -e destroy</b> [<b>-v</b>] <b>-i</b> <i>name</i>
<b>postmulti -e deport</b> [<b>-v</b>] <b>-i</b> <i>name</i>
<b>postmulti -e enable</b> [<b>-v</b>] <b>-i</b> <i>name</i>
<b>postmulti -e disable</b> [<b>-v</b>] <b>-i</b> <i>name</i>
<b>postmulti -e assign</b> [<b>-v</b>] <b>-i</b> <i>name</i> [<b>-I</b> <i>name</i>] [-G <i>group</i>]
<b>DESCRIPTION</b>
The <a href="postmulti.1.html"><b>postmulti</b>(1)</a> command allows a Postfix administrator to
manage multiple Postfix instances on a single host.
<a href="postmulti.1.html"><b>postmulti</b>(1)</a> implements two fundamental modes of opera-
tion. In <b>iterator</b> mode, it executes the same command for
multiple Postfix instances. In <b>life-cycle management</b>
mode, it adds or deletes one instance, or changes the
multi-instance status of one instance.
Each mode of operation has its own command syntax. For
this reason, each mode is documented in separate sections
below.
<b>BACKGROUND</b>
A multi-instance configuration consists of one primary
Postfix instance, and one or more secondary instances
whose configuration directory pathnames are recorded in
the primary instance's <a href="postconf.5.html">main.cf</a> file. Postfix instances
share program files and documentation, but have their own
configuration, queue and data directories.
Currently, only the default Postfix instance can be used
as primary instance in a multi-instance configuration. The
<a href="postmulti.1.html"><b>postmulti</b>(1)</a> command does not currently support a <b>-c</b>
option to select an alternative primary instance, and
exits with a fatal error if the <b>MAIL_CONFIG</b> environment
variable is set to a non-default configuration directory.
See the <a href="MULTI_INSTANCE_README.html">MULTI_INSTANCE_README</a> tutorial for a more detailed
discussion of multi-instance management with <a href="postmulti.1.html"><b>postmulti</b>(1)</a>.
<b>ITERATOR MODE</b>
In iterator mode, <b>postmulti</b> performs the same operation on
all Postfix instances in turn.
If multi-instance support is not enabled, the requested
command is performed just for the primary instance.
Iterator mode implements the following command options:
<b>Instance selection</b>
<b>-a</b> Perform the operation on all instances. This is the
default.
<b>-g</b> <i>group</i>
Perform the operation only for members of the named
<i>group</i>.
<b>-i</b> <i>name</i>
Perform the operation only for the instance with
the specified <i>name</i>. You can specify either the
instance name or the absolute pathname of the
instance's configuration directory. Specify "-" to
select the primary Postfix instance.
<b>-R</b> Reverse the iteration order. This may be appropri-
ate when updating a multi-instance system, where
"sink" instances are started before "source"
instances.
This option cannot be used with <b>-p</b>.
<b>List mode</b>
<b>-l</b> List Postfix instances with their instance name,
instance group name, enable/disable status and con-
figuration directory.
<b>Postfix-wrapper mode</b>
<b>-p</b> Invoke <a href="postfix.1.html"><b>postfix(1)</a></b> to execute the specified <i>command</i>.
This option implements the <a href="postfix-wrapper.5.html"><b>postfix-wrapper</b>(5)</a>
interface.
<b>o</b> With "start"-like commands, "postfix check"
is executed for instances that are not
enabled. The full list of commands is speci-
fied with the <a href="postconf.5.html#postmulti_start_commands">postmulti_start_commands</a>
parameter.
<b>o</b> With "stop"-like commands, the iteration
order is reversed, and disabled instances
are skipped. The full list of commands is
specified with the <a href="postconf.5.html#postmulti_stop_commands">postmulti_stop_commands</a>
parameter.
<b>o</b> With "reload" and other commands that
require a started instance, disabled
instances are skipped. The full list of com-
mands is specified with the <a href="postconf.5.html#postmulti_control_commands">postmulti_con</a>-
<a href="postconf.5.html#postmulti_control_commands">trol_commands</a> parameter.
<b>o</b> With "status" and other commands that don't
require a started instance, the command is
executed for all instances.
The <b>-p</b> option can also be used interactively to
start/stop/etc. a named instance or instance
group. For example, to start just the instances in
the group "msa", invoke <a href="postmulti.1.html"><b>postmulti</b>(1)</a> as follows:
# postmulti -g msa -p start
<b>Command mode</b>
<b>-x</b> Execute the specified <i>command</i> for all Postfix
instances. The command runs with appropriate envi-
ronment settings for MAIL_CONFIG, <a href="postconf.5.html#command_directory">command_direc</a>-
<a href="postconf.5.html#command_directory">tory</a>, <a href="postconf.5.html#daemon_directory">daemon_directory</a>, <a href="postconf.5.html#config_directory">config_directory</a>,
<a href="postconf.5.html#queue_directory">queue_directory</a>, <a href="postconf.5.html#data_directory">data_directory</a>,
<a href="postconf.5.html#multi_instance_name">multi_instance_name</a>, <a href="postconf.5.html#multi_instance_group">multi_instance_group</a> and
<a href="postconf.5.html#multi_instance_enable">multi_instance_enable</a>.
<b>Other options</b>
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
tiple <b>-v</b> options make the software increasingly
verbose.
<b>LIFE-CYCLE MANAGEMENT MODE</b>
With the <b>-e</b> option <a href="postmulti.1.html"><b>postmulti</b>(1)</a> can be used to add or
delete a Postfix instance, and to manage the multi-
instance status of an existing instance.
The following options are implemented:
<b>Existing instance selection</b>
<b>-a</b> When creating or importing an instance, place the
new instance at the front of the secondary instance
list.
<b>-g</b> <i>group</i>
When creating or importing an instance, place the
new instance before the first secondary instance
that is a member of the specified group.
<b>-i</b> <i>name</i>
When creating or importing an instance, place the
new instance before the matching secondary
instance.
With other life-cycle operations, apply the opera-
tion to the named existing instance. Specify "-"
to select the primary Postfix instance.
<b>New or existing instance name assignment</b>
<b>-I</b> <i>name</i>
Assign the specified instance <i>name</i> to an existing
instance, newly-created instance, or imported
instance. Instance names other than "-" (which
makes the instance "nameless") must start with
"postfix-". This restriction reduces the likeli-
hood of name collisions with system files.
<b>-G</b> <i>group</i>
Assign the specified <i>group</i> name to an existing
instance or to a newly created or imported
instance.
<b>Instance creation/deletion/status change</b>
<b>-e</b> <i>action</i>
"Edit" managed instances. The following actions are
supported:
<b>init</b> This command is required before <a href="postmulti.1.html"><b>postmulti</b>(1)</a>
can be used to manage Postfix instances.
The "postmulti -e init" command updates the
primary instance's <a href="postconf.5.html">main.cf</a> file by setting:
<a href="postconf.5.html#multi_instance_wrapper">multi_instance_wrapper</a> =
${<a href="postconf.5.html#command_directory">command_directory</a>}/postmulti -p --
<a href="postconf.5.html#multi_instance_enable">multi_instance_enable</a> = yes
You can set these by other means if you pre-
fer.
<b>create</b> Create a new Postfix instance and add it to
the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> parameter of
the primary instance. The "<b>-I</b> <i>name</i>" option
is recommended to give the instance a short
name that is used to construct default val-
ues for the private directories of the new
instance. The "<b>-G</b> <i>group</i>" option may be spec-
ified to assign the instance to a group,
otherwise, the new instance is not a member
of any groups.
The new instance <a href="postconf.5.html">main.cf</a> is the stock
<a href="postconf.5.html">main.cf</a> with the parameters that specify the
locations of shared files cloned from the
primary instance. For "nameless" instances,
you should manually adjust "<a href="postconf.5.html#syslog_name">syslog_name</a>" to
yield a unique "logtag" starting with "post-
fix-" that will uniquely identify the
instance in the mail logs. It is simpler to
assign the instance a short name with the
"<b>-I</b> <i>name</i>" option.
Optional "name=value" arguments specify the
instance <a href="postconf.5.html#config_directory">config_directory</a>, <a href="postconf.5.html#queue_directory">queue_directory</a>
and <a href="postconf.5.html#data_directory">data_directory</a>. For example:
# postmulti -I postfix-mumble \
-G mygroup -e create \
<a href="postconf.5.html#config_directory">config_directory</a>=/my/config/dir \
<a href="postconf.5.html#queue_directory">queue_directory</a>=/my/queue/dir \
<a href="postconf.5.html#data_directory">data_directory</a>=/my/data/dir
If any of these pathnames is not supplied,
the program attempts to generate the path-
name by taking the corresponding primary
instance pathname, and by replacing the last
pathname component by the value of the <b>-I</b>
option.
If the instance configuration directory
already exists, and contains both a <a href="postconf.5.html">main.cf</a>
and <a href="master.5.html">master.cf</a> file, <b>create</b> will "import" the
instance as-is. For existing instances, <b>cre-</b>
<b>ate</b> and <b>import</b> are identical.
<b>import</b> Import an existing instance into the list of
instances managed by the <a href="postmulti.1.html"><b>postmulti</b>(1)</a> multi-
instance manager. This adds the instance to
the <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> list of the
primary instance. If the "<b>-I</b> <i>name</i>" option
is provided it specifies the new name for
the instance and is used to define a default
location for the instance configuration
directory (as with <b>create</b> above). The "<b>-G</b>
<i>group</i>" option may be used to assign the
instance to a group. Add a "<b><a href="postconf.5.html#config_directory">config_direc</a>-</b>
<b><a href="postconf.5.html#config_directory">tory</a>=</b><i>/path</i>" argument to override a default
pathname based on "<b>-I</b> <i>name</i>".
<b>destroy</b>
Destroy a secondary Postfix instance. To be
a candidate for destruction an instance must
be disabled, stopped and its queue must not
contain any messages. Attempts to destroy
the primary Postfix instance trigger a fatal
error, without destroying the instance.
The instance is removed from the primary
instance <a href="postconf.5.html">main.cf</a> file's <a href="postconf.5.html#alternate_config_directories">alternate_con</a>-
<a href="postconf.5.html#alternate_config_directories">fig_directories</a> parameter and its data,
queue and configuration directories are
cleaned of files and directories created by
the Postfix system. The <a href="postconf.5.html">main.cf</a> and mas-
ter.cf files are removed from the configura-
tion directory even if they have been modi-
fied since initial creation. Finally, the
instance is "deported" from the list of man-
aged instances.
If other files are present in instance pri-
vate directories, the directories may not be
fully removed, a warning is logged to alert
the administrator. It is expected that an
instance built using "fresh" directories via
the <b>create</b> action will be fully removed by
the <b>destroy</b> action (if first disabled). If
the instance configuration and queue direc-
tories are populated with additional files
(access and rewriting tables, chroot jail
content, etc.) the instance directories will
not be fully removed.
The <b>destroy</b> action triggers potentially dan-
gerous file removal operations. Make sure
the instance's data, queue and configuration
directories are set correctly and do not
contain any valuable files.
<b>deport</b> Deport a secondary instance from the list of
managed instances. This deletes the instance
configuration directory from the primary
instance's <a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> list,
but does not remove any files or directo-
ries.
<b>assign</b> Assign a new instance name or a new group
name to the selected instance. Use "<b>-G -</b>"
to specify "no group" and "<b>-I -</b>" to specify
"no name". If you choose to make an
instance "nameless", set a suitable sys-
log_name in the corresponding <a href="postconf.5.html">main.cf</a> file.
<b>enable</b> Mark the selected instance as enabled. This
just sets the <a href="postconf.5.html#multi_instance_enable">multi_instance_enable</a> parame-
ter to "yes" in the instance's <a href="postconf.5.html">main.cf</a> file.
<b>disable</b>
Mark the selected instance as disabled. This
means that the instance will not be started
etc. with "postfix start", "postmulti -p
start" and so on. The instance can still be
started etc. with "postfix -c config-direc-
tory start".
<b>Other options</b>
<b>-v</b> Enable verbose logging for debugging purposes. Mul-
tiple <b>-v</b> options make the software increasingly
verbose.
<b>ENVIRONMENT</b>
The <a href="postmulti.1.html"><b>postmulti</b>(1)</a> command exports the following environment
variables before executing the requested <i>command</i> for a
given instance:
<b>MAIL_VERBOSE</b>
This is set when the -v command-line option is
present.
<b>MAIL_CONFIG</b>
The location of the configuration directory of the
instance.
<b>CONFIGURATION PARAMETERS</b>
<b><a href="postconf.5.html#config_directory">config_directory</a> (see 'postconf -d' output)</b>
The default location of the Postfix <a href="postconf.5.html">main.cf</a> and
<a href="master.5.html">master.cf</a> configuration files.
<b><a href="postconf.5.html#daemon_directory">daemon_directory</a> (see 'postconf -d' output)</b>
The directory with Postfix support programs and
daemon programs.
<b><a href="postconf.5.html#import_environment">import_environment</a> (see 'postconf -d' output)</b>
The list of environment parameters that a Postfix
process will import from a non-Postfix parent
process.
<b><a href="postconf.5.html#multi_instance_directories">multi_instance_directories</a> (empty)</b>
An optional list of non-default Postfix configura-
tion directories; these directories belong to addi-
tional Postfix instances that share the Postfix
executable files and documentation with the default
Postfix instance, and that are started, stopped,
etc., together with the default Postfix instance.
<b><a href="postconf.5.html#multi_instance_group">multi_instance_group</a> (empty)</b>
The optional instance group name of this Postfix
instance.
<b><a href="postconf.5.html#multi_instance_name">multi_instance_name</a> (empty)</b>
The optional instance name of this Postfix
instance.
<b><a href="postconf.5.html#multi_instance_enable">multi_instance_enable</a> (no)</b>
Allow this Postfix instance to be started, stopped,
etc., by a multi-instance manager.
<b><a href="postconf.5.html#postmulti_start_commands">postmulti_start_commands</a> (start)</b>
The <a href="postfix.1.html"><b>postfix</b>(1)</a> commands that the <a href="postmulti.1.html"><b>postmulti</b>(1)</a>
instance manager treats as "start" commands.
<b><a href="postconf.5.html#postmulti_stop_commands">postmulti_stop_commands</a> (see 'postconf -d' output)</b>
The <a href="postfix.1.html"><b>postfix</b>(1)</a> commands that the <a href="postmulti.1.html"><b>postmulti</b>(1)</a>
instance manager treats as "stop" commands.
<b><a href="postconf.5.html#postmulti_control_commands">postmulti_control_commands</a> (reload flush)</b>
The <a href="postfix.1.html"><b>postfix</b>(1)</a> commands that the <a href="postmulti.1.html"><b>postmulti</b>(1)</a>
instance manager treats as "control" commands, that
operate on running instances.
<b><a href="postconf.5.html#syslog_facility">syslog_facility</a> (mail)</b>
The syslog facility of Postfix logging.
<b><a href="postconf.5.html#syslog_name">syslog_name</a> (see 'postconf -d' output)</b>
The mail system name that is prepended to the
process name in syslog records, so that "smtpd"
becomes, for example, "postfix/smtpd".
<b>FILES</b>
$<a href="postconf.5.html#daemon_directory">daemon_directory</a>/<a href="postconf.5.html">main.cf</a>, stock configuration file
$<a href="postconf.5.html#daemon_directory">daemon_directory</a>/<a href="master.5.html">master.cf</a>, stock configuration file
$<a href="postconf.5.html#daemon_directory">daemon_directory</a>/postmulti-script, life-cycle helper program
<b>SEE ALSO</b>
<a href="postfix.1.html">postfix(1)</a>, Postfix control program
<a href="postfix-wrapper.5.html">postfix-wrapper(5)</a>, Postfix multi-instance API
<b>README FILES</b>
<a href="MULTI_INSTANCE_README.html">MULTI_INSTANCE_README</a>, Postfix multi-instance management
<b>HISTORY</b>
The <a href="postmulti.1.html"><b>postmulti</b>(1)</a> command was introduced with Postfix ver-
sion 2.6.
<b>LICENSE</b>
The Secure Mailer license must be distributed with this
software.
<b>AUTHOR(S)</b>
Victor Duchovni
Morgan Stanley
Wietse Venema
IBM T.J. Watson Research
P.O. Box 704
Yorktown Heights, NY 10598, USA
POSTMULTI(1)
</pre> </body> </html>