Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

extsmail.externals(1) [debian man page]

EXTSMAIL.EXTERNALS(1)					    BSD General Commands Manual 				     EXTSMAIL.EXTERNALS(1)

NAME
extsmail.externals -- configure which external commands to robustly send e-mail via DESCRIPTION
extsmail.externals is used to configure extsmaild(1). It consists of one or more group declarations. Each group consists of zero or more match / reject clauses followed by one or more external declarations. An external consists of one or more assignments of key = value pairs. When sending messages extsmaild(1) first searches through the externals file, in order, for a group whose match / reject clauses match the message in question. If a group does not contain any such clauses it automatically matches all messages. Match / reject clauses currently match only against headers, and use standard POSiX extended regular expressions (see re_format(7) for more details). extsmaild(1) then tries each external in the group, in order, to send the message successfully. The grammar for this file is as follows: group ::= { matches* external+ } matches ::= match | reject match ::= MATCH HEADER string reject ::= REJECT HEADER string external ::= EXTERNAL ID { defn+ } defn ::= ID = STRING | ID = TIME TIME ::= [0-9]+[dhms] Valid assignments within an external are: sendmail Defines the external shell command used to send e-mail. timeout If extsmaild(1) is executed in daemon mode, this value defines the length of time that extsmaild(1) will retry this external before giving up and trying the next external in the group. Times are specified as a number followed by d (days), h (hours) m (minutes), or s (seconds). If extsmaild(1) is executed in batch mode, the timeout value is ignored. FILES
The extsmail configuration file is searched for, in order, in the following locations: ~/.extsmail/externals Per-user configuration. /etc/extsmail/externals System-wide configuration. EXAMPLES
The simplest externals file sending e-mail via ssh(1) looks as follows: group { external mymachine { sendmail = "/usr/bin/ssh -q -C -l user mymachine.net /usr/sbin/sendmail" } } where mymachine is a human-friendly name given to an external (it does not effect processing), and user is the username on the remote machine mymachine.net. A more complex example using multiple groups, message matching, and multiple external commands looks as follows: group { match header "^To:.*@foo.com" external foo { sendmail = "/usr/bin/ssh -q -C -l user shell.foo.com /usr/sbin/sendmail" } } group { external mymachine { sendmail = "/usr/bin/ssh -q -C -l user mymachine.net /usr/sbin/sendmail" } external bk { sendmail = "/usr/bin/ssh -q -C -l user bk.mymachine.net /usr/sbin/sendmail" } } SEE ALSO
extsmail(1), extsmail.conf(5), extsmaild(1) AUTHORS
Laurence Tratt <http://tratt.net/laurie/> BSD
November 2, 2008 BSD

Check Out this Related Man Page

GROUPS.CONF(5)						     ClusterShell User Manual						    GROUPS.CONF(5)

NAME
groups.conf - Configuration file for ClusterShell external node groups DESCRIPTION
The ClusterShell library obtains node groups configuration options from the system-wide configuration file /etc/clustershell/groups.conf. Additional configuration files are also read from the directories set by the groupsdir option, if present. See the groupsdir option below for further details. Configuration files have a format in the style of RFC 822 potentially composed of several sections which may be present in any order. There are two types of sections: Main and Group source: Main Global configuration options. There should be only one Main section. Group_source The Group_source section(s) define the configuration for each node group source (or namespace). This configuration consists in external commands definition (map, all, list and reverse). Only Group_source section(s) are allowed in additional configuration files. [Main] OPTIONS Configuration parameters of the Main section are described below. default Specify the default group source (group namespace) used by the NodeSet parser when the user does not explicitly specify the group source (eg. "@io"). groupsdir Optional list of directories where the ClusterShell library should look for .conf files which define group sources to use. Each file in these directories with the .conf suffix should contain one or more Group_source sections as documented in [Group_source] options below. These will be merged with the group sources defined in /etc/clustershell/groups.conf to form the complete set of group sources that ClusterShell will use. Duplicate Group_source sections are not allowed. Note: .conf files that are not readable by the current user are ignored. [Group_source] OPTIONS Configuration parameters of each group source section are described below. map Specify the external shell command used to resolve a group name into a nodeset, list of nodes or list of nodeset (separated by space characters or by carriage returns). The variable $GROUP is replaced before executing the command. all Optional external shell command that should return a nodeset, list of nodes or list of nodeset of all nodes for this group source. If not specified, the library will try to resolve all nodes by using the list external command in the same group source followed by map for each group. list Optional external shell command that should return the list of all groups for this group source (separated by space characters or by carriage returns). reverse Optional external shell command used to find the group(s) of a single node. The variable $NODE is previously replaced. If this upcall is not specified, the reverse operation is computed in memory by the library from the list and map external calls. Also, if the number of nodes to reverse is greater than the number of available groups, the reverse external command is avoided automati- cally. When the library executes a group source external shell command, the current working directory is previously set to the corresponding groupsdir. This allows the use of relative paths for third party files in the command. Each external command might return a non-zero return code when the operation is not doable. But if the call return zero, for instance, for a non-existing group, the user will not receive any error when trying to resolve such unknown group. The desired behaviour is up to the system administrator. RESOURCE USAGE
All external command results are cached in memory to avoid multiple calls. EXAMPLES
Simple configuration file for local groups and slurm partitions binding. groups.conf [Main] default: local #groupsdir: /etc/clustershell/groups.conf.d/ [local] map: sed -n 's/^$GROUP:(.*)/1/p' /etc/clustershell/groups list: sed -n 's/^([0-9A-Za-z_-]*):.*/1/p' /etc/clustershell/groups [slurm] map: sinfo -h -o "%N" -p $GROUP all: sinfo -h -o "%N" list: sinfo -h -o "%P" reverse: sinfo -h -N -o "%P" -n $NODE FILES
/etc/clustershell/groups.conf System-wide external node groups configuration file. /etc/clustershell/groups.conf.d/ Recommended directory for additional configuration files. SEE ALSO
clush(1), clubak(1), nodeset(1) http://clustershell.sourceforge.net/ AUTHOR
Stephane Thiell, CEA DAM <stephane.thiell@cea.fr> COPYRIGHT
CeCILL-C V1 1.6 2012-03-31 GROUPS.CONF(5)
Man Page