yppush
—
force propagation of updated NIS databases
yppush |
[-d domain]
[-t timeout]
[-j #parallel jobs]
[-h host]
[-p path]
[-v ] mapname |
The yppush
utility distributes updated NIS databases (or
maps) from an NIS master server to NIS slave servers
within an NIS domain. It is normally only run on the NIS master by
/var/yp/Makefile whenever any of the NIS maps are
updated. Note that /var/yp/Makefile does not invoke
yppush
by default: the
“NOPUSH=True
” entry in the Makefile must
first be commented out (the default FreeBSD
configuration assumes a small network with only a single NIS server; in such a
configuration, yppush
is not needed).
By default, yppush
determines the names of
the slave servers for a domain by searching the
ypservers map. A destination host (or a list of
hosts) can also be manually specified on the command line. Once it has a
complete list of slave servers, it sends a 'map transfer' request to each
slave, which in turn reads a copy of the map from the master NIS server
using
ypxfr(8).
Included within each request is the name of the map to be copied and some
special information required by
ypxfr(8)
to successfully 'callback' to yppush
and carry out
the transfer. Any error messages yppush
receives
from
ypxfr(8)
via callback will be printed to stderr.
The following options are available:
-d
domain
- Specify a particular domain. The NIS domain of the local host system is
used by default. If the local host's domain name is not set, the domain
name must be specified with this flag.
-t
timeout
- Specify a timeout value in seconds. This timeout controls how long
yppush
will wait for a response from a slave
server before sending a map transfer request to the next slave server in
its list.
-j
#parallel jobs
- The
yppush
utility normally performs transfers
serially, meaning that it will send a map transfer request to one slave
server and then wait for it to respond before moving on to the next slave
server. In environments with many slaves, it is more efficient to initiate
several map transfers at once so that the transfers can take place in
parallel. The -j
flag is used to specify the
desired number of parallel jobs: yppush
will
initiate the specified number of transfers immediately and listen for
responses. If the number of specified parallel jobs is less than the
number of slave servers, yppush
will initiate only
the number of specified jobs and then wait for some of them to finish
before starting any more.
Note that yppush
handles callbacks
asynchronously, which means that it will collect and display the
callback information received from
ypxfr(8)
as soon as it arrives, even it arrives before all of the map transfer
requests have been sent.
-h
host
- Can be used to transfer a map to a user-specified machine or group of
machines instead of the list of servers contained in the
ypservers map. A list of hosts can be specified by
using multiple instances of the
-h
flag.
-p
path
- By default,
yppush
expects all the local NIS maps
to be stored under /var/yp. The
-p
flag can be used to specify an alternate path
in the event that the system administrator decides to store the NIS maps
somewhere else.
-v
- Verbose mode: it causes
yppush
to print debugging
messages as it runs. Specifying this flag twice makes
yppush
even more verbose.
- /var/yp/[domainname]/ypservers
- the NIS ypservers map containing the names of all servers in a particular
NIS domain
The mechanism for transferring NIS maps in NIS v1 is different than that in NIS
version 2. This version of yppush
has support for
transferring maps to NIS v2 systems only.