YPXFR(8)

NAME
ypxfr - transfer NIS map from a NIS server to here

SYNOPSIS
/usr/sbin/yp/ypxfr [ -f ] [ -c ] [ -d domain ] [ -h host ] [ -s domain ] [ -C tid prog ipadd port ] [ -S ] mapname

DESCRIPTION
ypxfr moves a NIS map in the default domain for the local host to the local host by making use of normal NIS services. It creates a temporary map in the directory /var/yp/domain (this directory must already exist; domain is the default domain for the local host), fills it by enumerating the map's entries, fetches the map parameters (master and order number), and loads them. It then deletes any old versions of the map and moves the temporary map to the real mapname.

If run interactively, ypxfr it writes its output to the terminal. However, if it is invoked without a controlling terminal, and if the log file /var/yp/ypxfr.log exists, it will append all its output to that file. Since ypxfr is most often run from the crontab file, or by ypserv, you can use the log file to retain a record of what was attempted, and what the results were.

For consistency between servers, ypxfr should be run periodically for every map in the NIS data base. Different maps change at different rates: the services.byname map may not change for months at a time, for instance, and may therefore be checked only once a day (in the wee hours). You may know that mail.aliases or hosts.byname changes several times per day. In such a case, you may want to check hourly for updates. A crontab(5) entry can be used to perform periodic updates automatically. Rather than having a separate crontab entry for each map, you can group comands to update several maps in a shell script. Examples (mnemonically named) are in /usr/sbin/yp: ypxfr_1perday, ypxfr_2perday, and ypxfr_1perhour. They can serve as reasonable first cuts.

Refer to ypfiles(5) and ypserv(8) for an overview of the Network Information Service.

OPTIONS

-f  Force the transfer to occur even if the version at the master is not more recent than the local version.

-c  Do not send a ``Clear current map'' request to the local ypserv process. Use this flag if ypserv is not running locally at the time you are running ypxfr. Otherwise, ypxfr will complain that it can't talk to the local ypserv, and the transfer will fail.

-ddomain
    Specify a domain other than the default domain.

-hhost
    Get the map from host, regardless of what the map says the master is. If host is not specified, ypxfr will ask the NIS service for the name of the master, and try to get the map from there. host may be a name or an internet address in the form a.b.c.d.

-sdomain
    Specify a source domain from which to transfer a map that should be the same across domains (such as the services.byname map).

-Ctid prog ipadd port
    This option is only for use by ypserv. When ypserv invokes ypxfr, it specifies that ypxfr should call back a yppush process at the host with IP address ipaddr, registered as program number prog, listening on port port, and waiting for a response to transaction tid.

-S  This option causes ypxfr to require that the ypserv server, from which it will obtain the maps to be transferred, is using ``priviledged'' IP ports. Since only super-user processes are typically allowed to use priviledged ports, this feature adds an extra measure of security to the transfer. If the map being transferred is a secure map, ypxfr sets the permissions on the map to 0600.

FILES
/var/yp/ypxfr.log
    log file
/usr/sbin/yp/ypxfr_1perday
    script to run one transfer per day, for use with cron(8)
/usr/sbin/yp/ypxfr_2perday
    script to run two transfers per day
/usr/sbin/yp/ypxfr_1perhour
    script for hourly transfers of volatile maps
/var/yp/domain
    NIS domain

SEE ALSO
crontab(5), ypfiles(5), cron(8), ypserv(8), yppush(8),

NIS Protocol Specification, in ``Network Programming.''