nisrestore コマンドによって、nisbackup を使用して作成したバックアップファイル内に格納されたデータと一致する NIS+ ディレクトリオブジェクトが再現されます。このコマンドを使用すると、NIS+ サーバーの復元、壊れたディレクトリオブジェクトの置換、または新しい NIS+ サーバーに NIS+ データを読み込めます。
nisrestore を使用するには、nisrestore から NIS+ データを受け取るマシンは、NIS+ サーバーとして設定されている必要があります (NIS+ サーバーの設定の詳細については、第 4 章「スクリプトを使用した NIS+ の設定」を参照)。この場合「サーバーが認識している」とは以下のことを意味する
マシンを、NIS+ クライアントとして初期化しておく必要があります。
マシンを NIS 互換モードで実行し、ドメイン名システム (DNS) 転送をサポートする場合は、そのマシンには、適切に構成された /etc/resolv.conf ファイルが必要です。
名前空間内でほかのサーバーが実行中の時、あるサーバーで nisrestore を使用する場合は、nisrestore は、ほかのサーバーを検証して、このサーバーがサーバーに復元するバックアップ NIS+ オブジェクトを配布するように構成されているかどうかを確認します。実行中のサーバーがほかにない場合は、nisrestore に -f オプションを指定して実行する必要があります。つまり、nisrestore がチェックするほかのサーバーがある場合は、-f オプションを使用する必要はありません。また、使用できるサーバーがほかにない場合、たとえば、1 台のマスターサーバーを復元するときに、機能複製サーバーがほかにない場合は、-f オプションを使用する必要があります。
上記の 3 つの前提条件への追加条件として、マシン上で rpc.nisd デーモンを実行しないでください。必要に応じて、NIS+ サービスを停止して rpc.nisd のプロセスを終了してから、nisrestore を実行してください。
nisrestore では、次の構文を使用します。
nisrestore [-fv][-a][-t] backupdir [directory_objects] |
引数の意味はそれぞれ以下のとおりです。
backupdir には、NIS+ オブジェクトの復元に使用するバックアップファイルの入ったディレクトリを入力します (/var/master1_bakup)。たとえば、/var/master1_bakup です。
directory_objects には、復元する NIS+ ディレクトリオブジェクトを入力します (org_dir.doc.com)。たとえば、org_dir.doc.com です。複数の NIS+ ディレクトリオブジェクトを、スペースで区切って入れることができます。nisrestore に -a オプションを指定して実行する場合は、特定のディレクトリオブジェクトは指定しません。
nisrestore コマンドには、以下のオプションを指定できます。
表 21–2 nisrestore コマンドのオプション
オプション |
目的 |
---|---|
-a |
すべて。バックアップディレクトリ内に入っている NIS+ ディレクトリオブジェクトをすべて復元する |
-f |
サーバーが、ディレクトリオブジェクトのサーバーリストに記載されているかどうかを検査せずに、強制的に復元を行う。このオプションは、ルートマスターサーバーを復元する時、または “ オブジェクトを検出できません ” といった種類のエラーを受け取った場合に使用する必要がある |
-v |
冗長モード。このモードは、追加情報を出力する |
-t |
このオプションを使用すると、バックアップディレクトリ内に格納された NIS+ ディレクトリオブジェクトがすべて表示される。オブジェクトの復元は行われない |
NIS+ バックアップファイルから NIS+ データを復元するには、nisrestore コマンドを使用します。
たとえば、org_dir.doc.com. ディレクトリオブジェクトを replica1 サーバーに復元する場合は、root として replica1 にログインし、「nisrestore を実行するための前提条件」で説明した前提条件が満たされていることを確認してから、以下のように nisrestore を実行します。
replica1# nisrestore /var/master1_bakup org_dir.doc.com. |
nisrestore には、以下の項目が適用されます。
「損傷した名前空間」。損傷した、または破壊された NIS+ 名前空間を復元するには、復元する NIS+ ディレクトリオブジェクトのすべてのサーバー上で nisrestore コマンドを実行する必要があります。
「検出エラー」。nisrestore が必要なデータを確認できないか、または検出できないというエラーメッセージを受け取った場合は、-f オプションを使用する必要があります。
たとえば、master1 という名前のルートマスターサーバー上に NIS+ データをロードし直す場合は、次のように入力します。
master1# nisrestore -f -a /var/master1_bakup |
「ディレクトリ名」。復元する NIS+ ディレクトリオブジェクトを指定する場合は、完全指定または部分指定ディレクトリ名を使用します。