YPPUSH(8)

NAME
yppush - force propagation of updated NIS databases

SYNOPSIS
yppush [-d domain] [-t timeout] [-j #parallel jobs] [-h host] [-p path] [-v] mapname

DESCRIPTION
yppush 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.

OPTIONS
The following options are supported by yppush:

-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
    The -t flag is used to 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
    yppush 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
    The -h flag 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: causes yppush to print debugging messages as it runs. Note specifying this flag twice makes yppush even more verbose.

FILES
/var/yp/[domainname]/ypservers
    The NIS ypservers map containing the names of all servers in a particular NIS domain.

SEE ALSO
yp(4), ypserv(8), ypxfr(8)

BUGS
The mechanism for transferring NIS maps in NIS v1 is different that that in NIS version 2. This version of yppush has support for transferring maps to NIS v2 systems only.

AUTHOR
Bill Paul <wpaul@ctr.columbia.edu>