---
name: "ypxfr"
section: "8"
platform: "linux"
package: "ypserv"
version: "4.2-2+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux", "freebsd", "openbsd"]
url: "https://new.carta.tech/ypxfr"
---

# ypxfr(8)

transfer NIS database from remote server to local host

## NAME

ypxfr - transfer NIS database from remote server to local host

## SYNOPSIS

**/usr/lib/yp/ypxfr** \[-f\] \[-c\] \[-d *target* *domain*\] \[-h *source* *host*\] \[-s *source* *domain*\] \[-C *taskid* *program-number* *host* *port*\] \[-p *yp\_path*\] *mapname*...\

## DESCRIPTION

**ypxfr** copies an NIS database from one NIS server to the local host by using the NIS service. **ypxfr** is generally invoked by **ypinit** or by **ypserv,** when **ypserv** receives a map transfer request from **yppush.** It creates a temporary map in the directory /var/yp/domain (this directory must already exist; *domain* is the default domainname for the local host), fills it by getting the map's entries and fetches the map parameters (master and order number). If the transfer was successful, the old version of the map will be deleted and the temporary copy will be moved into its place. Then, **ypxfr** will attempt to send a "clear current map" request to the local **ypserv.**

If run interactively, **ypxfr** writes its output to stderr. However, if it is invoked without a controlling terminal, it will log the output to syslog.

**ypxfr** is used primarily in environments where several NIS servers are in use. For all maps, you have a NIS master server, which maintains a canonical copy of the NIS map, and all the other servers, the NIS slaves, copy the new version of the map from the master whenever a update was made. Normally, you have one NIS master for all maps.

In order to maintain consistency across all NIS servers, **ypxfr** can be run periodically in a **cron** job. Maps which change infrequently need only be updated once a day (preferably late at night when system usage is lowest), where those with frequent changes (such as *passwd.byname* and *passwd.byuid )* should be updated perhaps once every hour. Examples are in /usr/lib/yp: ypxfr\_1perday, ypxfr\_2perday, and **ypxfr\_1perhour.** They can serve as reasonable first cuts.

Normally all updates should be propagated by **yppush** when /var/yp/Makefile is run on the NIS master server, however it is a good practice on large networks where possible outages could cause NIS slaves to fall out of sync with the master.

## OPTIONS

The following options are supported:

- **-f**

  Force a map transfer. Normally, **ypxfr** will not transfer a map if it determines that the NIS master's copy is not newer than the existing copy already on the local host. This flag forces a transfer regardless of which server's version is more recent.

- **-c**

  Do not send a "clear current map" request to the **ypserv** process running on the local host. This flag is normally used when invoking **ypxfr** by **ypinit** or if **ypserv** is not running locally at the time you are running **ypxfr.** Otherwise, **ypxfr** will complain that it cannot talk to the local **ypserv,** and the transfer will fail.

**-d** *domain*

Specify a domain other than the default NIS domain.

**-h** *source host*

Get the map from *host*, regardless of what the map says the master is. If *host* is not specified, **ypxfr** asks the NIS service for the name of the master, and tries to get the map from there. This option is used to insure that ypxfr only copies maps from the NIS master server.

**-s** *source domain*

Specify a source domain from which to transfer a map that should be the same across domains.

**-C** *taskid progam-number host 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 or name *host*, registered as program number *progam-number*, listening on port *port*, and waiting for a response to transaction *taskid*.

**-p** *yp\_path*

Change the directory for the maps to *yp\_path/\[domainname\]/*, the default is /var/yp/\[domainname\].

*mapname*

One or more names of the map to transfer.

## FILES

/var/yp/\[domainname\]/\[maps\]

## SEE ALSO

[**ypserv**(8)](/ypserv/8.md), [**yppush**(8)](/yppush/8.md), [**ypinit**(8)](/ypinit/8.md), [**cron**(8)](/cron/8.md), [**crontab**(5)](/crontab/5.md)

## AUTHOR

Thorsten Kukuk \<kukuk@linux-nis.org\>
