B    NIS ypservers 更新スクリプト

この付録では,ypservers マップを更新するための次のスクリプトについて説明します。

B.1    スレーブ・サーバ追加用スクリプト

NIS マスタ・サーバで addypserver スクリプトを作成するには,次の手順に従ってください。

  1. /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
    

  2. 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 スクリプトを作成するには,次の手順に従ってください。

  1. /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
    

  2. chmod コマンドを使用して,許可を 700 に設定します。

    # chmod 700 /var/yp/rmypserver
    

ypservers マップから host1 を削除するには,次のコマンドを入力します。

# /var/yp/rmypserver host1

NIS マスタ・サーバの hosts ソース・ファイルを編集してスレーブ・サーバのエントリを削除する必要があります。 その後に,make コマンドを入力して hosts マップを更新して配付します。 詳細は 3.4.2 項 を参照してください。