Sun Java System Calendar Server 6 2005Q4 管理ガイド

第 17 章 Calendar Server データのバックアップと復元

Calendar Server により提供される自動バックアップ機能の使用を選択していない場合は、csstored を使用して、バックアップ手順を実装し、データを保護する必要があります。この章では、手動バックアップを実行して、カレンダデータベースファイルを復元するための Calendar Server およびほかの Sun ツールの使用方法を説明します。

/var/opt/SUNWics5/csdb ディレクトリに格納されている Calendar Server データのバックアップと復元には、次のコマンド行ユーティリティーを使用します。


注 –

Berkeley データベースのツール (db_recover など) を使用する既存のカスタムスクリプトがある場合、Calendar Server 6 以降にアップグレードすると、ツールが機能しない場合があります。Calendar Server 2004Q4 以前は、ツールはスタティックライブラリでコンパイルされていました。Calendar Server 6 以降、ツールはダイナミックライブラリでコンパイルされるようになりました。

この変更に対応するには、カスタムスクリプトを次のように変更してダイナミックリンクライブラリを使用可能にする必要があります。大域変数 LD_LIBRARY_PATH をダイナミックライブラリの名前 (libdb-4.2.so) に変更します。


この章で説明する内容は次のとおりです。


注意 – 注意 –

Calendar Server 2 のデータには最新製品との互換性がありません。データを喪失する可能性があるので、Calendar Server 2 の backup ユーティリティーでバックアップしたカレンダデータを復元しないでください。

最新バージョンに移行する必要のある Calendar Server 2 のカレンダデータがある場合は、テクニカルサポートに問い合わせて適切な移行ユーティリティーを入手してください。


Calendar Server データのバックアップ

csbackup ユーティリティーを使用して、カレンダデータベース、指定したカレンダ、ユーザーのデフォルトカレンダをバックアップできます。ここで説明する内容は次のとおりです。

Procedureカレンダデータベースのディレクトリへのバックアップ

手順
  1. データベースファイルの所有者 (icsuser など) としてログインします。

  2. csbackup ユーティリティーの database コマンドを使用します。

    たとえば、カレンダデータベースを backupdir というディレクトリにバックアップするときは、次のように実行します。


    csbackup -f database backupdir
  3. バックアップディレクトリ内のバージョンファイル ics50caldb.conf を調べて、正しいバージョンのデータベースがバックアップされたかどうか確認します。


    注 –

    ターゲットバックアップディレクトリがすでに存在し、-f オプションを指定しない場合は、csbackup ユーティリティーの実行は失敗します。たとえば、backupdir ディレクトリがすでに存在する場合は、そのディレクトリが空であっても次のコマンドの実行は失敗します。


    csbackup database backupdir

    このため、既存のターゲットバックアップディレクトリを指定するとき は、-f オプションを指定して csbackup を実行する必要があります。

    存在しないターゲットバックアップディレクトリを指定し、csbackup にディレクトリを新規作成させることもできます。


Procedure指定したカレンダのファイルへのバックアップ

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. カレンダを iCalendar 形式または XML 形式のファイルにバックアップするときは、csbackup ユーティリティーの calendar コマンドを使用します。

    バックアップファイルの形式は、ファイル名拡張子 (.ics または .xml) によって示されます。

    たとえば、jsmithcal というカレンダを iCalendar 形式 (text/calendar MIME) の jsmith.ics というファイルとして backupdir ディレクトリ内にバックアップするには、次のように実行します。


    csbackup -c jsmithcal calendar backupdir/jsmith.ics

    また、jsmithcal というカレンダを XML 形式 (text/XML MIME) の jsmith.xml というファイルとして backupdir ディレクトリ内にバックアップするには、次のように実行します。


    csbackup -c jsmithcal calendar backupdir/jsmith.xml

Procedureユーザーデフォルトカレンダのファイルへのバックアップ

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. ユーザーのデフォルトカレンダを iCalendar 形式または XML 形式のテキストファイルにバックアップするには、csbackup ユーティリティーの def cal コマンドを使用します。ファイルの形式は、出力ファイルに指定する拡張子 (.ics または .xml) によって決定されます。

    たとえば、jsmith というユーザーのデフォルトカレンダを jsmith.ics という iCalendar 形式 (text/calendar MIME) のファイルにバックアップするには、次のように実行します。


    csbackup -a jsmith defcal backupdir/jsmith.ics

    また、jsmith のデフォルトカレンダを jsmith.xml という XML 形式 (text/xml MIME) のファイルにバックアップするには、次のように実行します。


    csbackup -a jsmith defcal backupdir/jsmith.xml

Calendar Server データの復元

csrestore は、csbackup で生成したカレンダデータベース、個々のカレンダ、ユーザーのデフォルトカレンダを復元します。csrestore ユーティリティーを Calendar Server がインストールされているローカルマシンで実行し、最初に Calendar Server を停止する必要があります。データベースのバックアップ時は Calendar Server は稼動していてもかまいません。

ここで説明する内容は次のとおりです。

Procedureカレンダデータベースの復元

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. csbackup ユーティリティーで作成したバックアップディレクトリからカレンダデータベースを復元するときは、csrestore ユーティリティーの database コマンドを使用します。

    たとえば、backupdir というバックアップディレクトリに保存されているカレンダデータベースを復元するには、次のように実行します。


    csrestore database backupdir

Procedureバックアップディレクトリからのカレンダの復元

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. csbackup ユーティリティーで作成したバックアップディレクトリに保存されているデータベースから特定のカレンダを復元するときは、-c オプションを指定して csrestore ユーティリティーの database コマンドを実行します。

    たとえば、backupdir というバックアップデータベースディレクトリから jsmithcal というカレンダを復元するときは、次のように実行します。


    csrestore -c jsmithcal calendar backupdir

Procedureバックアップファイルからのカレンダの復元

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. csbackup ユーティリティーで作成したバックアップファイルから特定のカレンダを復元するときは、-c オプションを指定して csrestore ユーティリティーの calendar コマンドを実行します。

    保存されているカレンダファイルの形式は、そのファイルの拡張子 (.ics または .xml) で示されます。

    たとえば、iCalendar 形式 (text/calendar MIME) の jsmith.ics というファイルとして backupdir ディレクトリに保存されている jsmithcal というカレンダを復元するには、次のように実行します。


    csrestore -c jsmithcal calendar backupdir/jsmith.ics

    また、XML 形式 (text/calendar MIME) の jsmith.xml というファイルとして bcakupdir ディレクトリに保存されている jsmithcal というカレンダを復元するには、次のように実行します。


    csrestore -c jsmithcal calendar backupdir/jsmith.xml

Procedureユーザーのデフォルトカレンダの復元

手順
  1. データベースの所有者 (icsuser) としてログインします。

  2. csbackup ユーティリティーでバックアップファイルに保存したユーザーのデフォルトカレンダを復元するには、csrestore ユーティリティーの defcal コマンドを使用します。

    保存されているカレンダファイルの形式は、そのファイルの拡張子 (.ics または .xml) で示されます。

    たとえば、iCalendar 形式 (text/calendar MIME) の jsmith.ics というファイルとして backupdir ディレクトリに保存されている、jsmith というユーザーのデフォルトカレンダを復元するには、次のように実行します。


    csrestore -a jsmith defcal backupdir/jsmith.ics

    また、XML 形式 (text/xml MIME) の jsmith.xml というファイルとして backupdir ディレクトリに保存されている、jsmith というユーザーのデフォルトカレンダを復元するには、次のように実行します。


    csrestore -a jsmith defcal backupdir/jsmith.xml

Sun StorEdge Enterprise BackupTM または Legato Networker® の使用

Sun StorEdge Enterprise Backup ソフトウェア (従来の Solstice Backup) または Legato Networker を使用して Calendar Server データのバックアップと復元を行うこともできます。Sun StorEdge Enterprise Backup ソフトウェアと Legato Networker は似ているので、ここで紹介する手順はどちらの製品にも適用できます。

ただし、Calendar Server のバックアップを行う前に、Sun StorEdge Enterprise Backup または Legato Networker のマニュアルを参照してください。

Sun StorEdge Enterprise Backup ソフトウェアのマニュアルは、http://docs.sun.com で入手できます。

ここで説明する内容は次のとおりです。

StorEdge ツールまたは Legato ツール

/opt/SUNWics5/cal/sbin ディレクトリには、Sun StorEdge または Legato バックアップソフトウェアを使用する上で必要となる次のファイルが格納されています。

icsasm

Calendar Server ASM (Application Specific Module)。ASM は、Sun StorEdge または Legato バックアップソフトウェアがデータをバックアップまたは復元するときに呼び出されるプログラムです。

legbackup.sh

csbackup ユーティリティーを呼び出すスクリプト。

legrestore.sh

csrestore ユーティリティーを呼び出すスクリプト。

ProcedureSun StorEdge Enterprise Backup ソフトウェアまたは Legato Networker を使用して Calendar Server データをバックアップするには

Sun StorEdge または Legato バックアップソフトウェアを使用してカレンダデータベースをバックアップするには、次の手順を実行します。

手順
  1. Sun StorEdge または Legato の nsrfile バイナリファイルを /usr/lib/nsr ディレクトリにコピーします。

  2. /usr/lib/nsr ディレクトリに次のシンボリックリンクを作成します。


    icsasm -\> /opt/SUNWics5/cal/sbin/icsasm nsrfile -\> /usr/lib/nsr/nsrfile
  3. /opt/SUNWics5/cal/sbin ディレクトリに移動し、-l オプションを指定して csbackup ユーティリティーを実行します。次に例を示します。


    cd /opt/SUNWics5/cal/sbin ./csbackup -l

    -l オプションによって、現在のディレクトリの下にバックアップディレクトリイメージが作成されます。このディレクトリ内のファイルは空で、カレンダがバックアップ媒体にどのように格納されるかをバックアッププログラムに伝えるためだけに使用されます。バックアップディレクトリがすでに存在する場合、現在のディレクトリ構造がそのディレクトリに反映されます。

  4. save コマンドを実行してカレンダデータをバックアップします。次に例を示します。次に例を示します。


    /usr/bin/nsr/save -s /opt/SUNWics5/cal/sbin/budir

    Sun StorEdge または Legato のバックアップ GUI でクライアント保存セットを設定してバックアップをスケジューリングし、データベースを定期的にバックアップすることもできます。

    注: .nsr ファイルを変更しないでください。これらのファイルには、バックアップ時に save コマンドと icsasm コマンドが解釈する指令が記録されています。

    Calendar Server は増分バックアップ機能をサポートしていません。バックアップディレクトリはフォルダ構造のイメージに過ぎず、実際のデータを含まないので、この機能を使用しないでください。

    ASCII 以外の文字またはスラッシュ記号 (/) を含む名前を付けてカレンダをバックアップすることはできません。

  5. バックアップ手順を自動化します。

    これまでは手動で行うバックアップ手順について説明してきました。バックアッププログラムの backup コマンドを設定し、バックアッププログラムの save コマンドによって自動的なバックアッププロセスが開始される前に、Calendar Server の csbackup コマンド行ユーティリティーが実行されるようにします。

ProcedureSun StorEdge Enterprise Backup ソフトウェアまたは Legato Networker を使用して Calendar Server データを復元するには

Calendar Server データを復元するには、次の手順を実行します。

手順
  1. Sun StorEdge Enterprise Backup ソフトウェアの nwrestore 機能または recover コマンドを使用して、バックアップされているカレンダ情報を復元します。

    nwrestore を使用した場合は次のメッセージが出力されます。


    "File already exists. Do you want to overwrite, skip, backup, or rename?"
  2. overwrite を選択します。

    このメッセージは、バックアップツリーが単なるディレクトリ階層であるために表示されます。つまり、このツリーは空のファイルだけを含み、この状態は変化しません。