YPSERV(8) | YPSERV(8) |
ypxfr - NIS データーベースをリモートサーバーからローカルホストに転送する
/usr/lib/yp/ypxfr [ -f ] [ -c ] [ -d target domain ] [ -h source host ] [ -s source domain ] [ -C taskid program-number ipaddr port ] [ -p yp_path ] mapname ...
ypxfr は NIS データーベースを NIS サーバーからローカルホストに NIS サービスを用いてコピーする。 ypxfr は通常 ypinit から起動されるか、 yppush からマップ転送要求を受け取った ypserv によって起動される。 ypxfr は一時的なマップを /var/yp/domain ディレクトリに生成し (このディレクトリは存在していなければならない。 domain はローカルホストのデフォルトドメイン名である)、 そのマップのエントリを取得して内容を書き込み、マップのパラメータ (マスターとオーダー番号) を取得する。 転送が成功したら、古いバージョンのマップは削除され、 この一時的なマップの内容がそこに書き込まれる。 次に ypxfr は "clear current map" 要求をローカルの ypserv に送ろうと試みる。
インタラクティブな形式で実行されると、 ypxfr は出力を標準エラー出力に書き出す。しかし制御端末なしで 起動された場合には、出力は syslog に記録される。
ypxfr が用いられるのは、複数の NIS サーバーが用いられているような 環境においてである。あらゆるマップに対して、そのマップの原本を 保持している NIS マスターサーバーが一つだけ存在する。他のサーバは すべて NIS スレーブサーバーとなり、マスターサーバーでマップが 更新されるたびに、新しい版のマップをコピーする。 通常は一台の NIS サーバーにすべてのマップの管理を集中させる。
これらすべての NIS サーバーの間でマップの内容を一致させておくためには、 ypxfr を cron ジョブとして定期的に動作させると良い。あまり変更されないマップは 一日に一回更新すればよいだろうし (システムの使用率が最低となるような 夜遅くが好まれる)、頻繁に変更されるマップ ( passwd.byname や passwd.byuid など) は一時間に一回くらい更新する必要があるかもしれない。 これらの例は /usr/lib/yp の ypxfr_1perday, ypxfr_2perday, ypxfr_1perhour などに示してある。とりあえず動かしてみるには、 これらを用いてみると良いだろう。
NIS マスターサーバーで /var/yp/Makefile が実行されたら、 通常はその更新内容を yppush を用いて伝播させるべきである。 しかし大きなネットワークの場合には、通信障害などによって NIS スレーブの同期がマスターとずれることもあるだろうから、 このように ypxfr を使うのは良いことである。
以下のオプションがサポートされている。
/var/yp/[domainname]/[maps]
ypserv(8), yppush(8), ypinit(8), cron(8), crontab(5)
Thorsten Kukuk <kukuk@suse.de>
August 2001 | YP Server |