この付録では,ypservers
マップを更新するための次のスクリプトについて説明します。
addypserver
-- スレーブ・サーバの追加
rmypserver
-- スレーブ・サーバの削除
NIS マスタ・サーバで
addypserver
スクリプトを作成するには,次の手順に従ってください。
/var/yp
ディレクトリに
addypserver
ファイルを作成し,次に示す行を挿入します。
#!/bin/sh
PATH="/usr/bin:/var/yp:$PATH"
if [ $# != 1 ]; then
echo "usage: $0 server"; exit 1
fi
DOMAIN=`/usr/sbin/rcmgr get NIS_DOMAIN`
METHOD=`/usr/sbin/rcmgr get NIS_SERVERARGS d`
cd /var/yp
echo "
Adding $1 to ypservers map for domain DOMAIN ..."
(/var/yp/makedbm -a $METHOD -u $DOMAIN/ypservers;\
echo $1 $1) | /var/yp/makedbm -a $METHOD $DOMAIN/ypservers
/var/yp/yppush ypservers
chmod
コマンドを使用して,許可を 700 に設定します。
# chmod 700 /var/yp/addypserver
ypservers
マップに
host1
を追加するには,次のコマンドを入力します。
# /var/yp/addypserver host1
NIS マスタ・サーバの
hosts
ソース・ファイルにまだスレーブ・サーバのエントリがない場合は,hosts
ファイルを編集してエントリを追加してください。
次に,make
コマンドを入力して
hosts
マップを更新して配布します。
詳細については,3.4.1 項を参照してください。
B.2 スレーブ・サーバ削除用スクリプト
NIS マスタ・サーバに
rmypserver
スクリプトを作成するには,次の手順に従ってください。
/var/yp
ディレクトリに
rmypserver
ファイルを作成し,次に示す行を挿入します。
#!/bin/sh
PATH="/usr/bin:/var/yp:$PATH"
if [ $# != 1 ]; then
echo "usage: $0 server"; exit 1
fi
DOMAIN=`/usr/sbin/rcmgr get NIS_DOMAIN`
METHOD=`/usr/sbin/rcmgr get NIS_SERVERARGS d`
cd /var/yp
echo "
Removing $1 from ypservers map for domain DOMAIN ..."
/var/yp/makedbm -a $METHOD -u $DOMAIN/ypservers | grep -v "^$1 " \
| /var/yp/makedbm -a $METHOD $DOMAIN/ypservers
/var/yp/yppush ypservers
chmod
コマンドを使用して,許可を 700 に設定します。
# chmod 700 /var/yp/rmypserver
ypservers
マップから
host1
を削除するには,次のコマンドを入力します。
# /var/yp/rmypserver host1
NIS マスタ・サーバの
hosts
ソース・ファイルを編集してスレーブ・サーバのエントリを削除する必要があります。
その後に,make
コマンドを入力して
hosts
マップを更新して配付します。
詳細は
3.4.2 項
を参照してください。