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 之前,這些工具使用靜態程式庫進行編譯。自該發行版本以來,這些工具使用動態程式庫進行編譯。

若要適應此變更,請修改自訂程序檔以使用動態連結程式庫,方法如下:將全域變數 LD_LIBRARY_PATH 變更為動態程式庫 (libdb-4.2.so) 的名稱。


本章包含以下小節:


注意 – 注意 –

Calendar Server 2 資料與目前的產品不相容。請勿嘗試復原由 Calendar Server 2 backup 公用程式備份的行事曆資料,因為這樣會遺失資料。

如果您有 2 份行事曆資料要移至目前的發行版本,則必須連絡技術支援,以獲得相應的遷移公用程式。


備份 Calendar Server 資料

csbackup 公用程式可備份行事曆資料庫、指定的行事曆或使用者的預設行事曆。本小節說明以下內容:

Procedure將行事曆資料庫備份至目錄

步驟
  1. 以資料庫檔案所有者 (例如 icsuser) 的身份登入。

  2. 使用 csbackup 公用程式的 database 指令。

    例如,將行事曆資料庫備份至名為 backupdir 的目錄:


    csbackup -f database backupdir
  3. 透過檢查備份目錄中的 ics50caldb.conf 版本檔案,驗證已備份的資料庫版本是否正確。


    備註 –

    如果目標備份目錄已存在,並且您未指定 -f 選項,則 csbackup 公用程式會失敗。例如,如果 backupdir 存在,則即使目錄為空,以下指令也會失敗:


    csbackup database backupdir

    因此,如果您指定已存在的目標備份目錄,請在執行 csbackup 時包含 -f 選項。

    您也可以指定不存在的目標備份目錄,並讓 csbackup 為您建立該目錄。


Procedure將特定行事曆備份至檔案

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要以 iCalendar 或 XML 格式將行事曆備份至檔案,請使用 csbackup 公用程式的 calendar 指令。

    備份檔案的檔案副檔名 (.ics.xml) 指示格式。

    例如,以 iCalendar 格式 (文字/行事曆 MIME) 將行事曆 jsmithcal 備份至 backupdir 目錄中的 jsmith.ics 檔案:


    csbackup -c jsmithcal calendar backupdir/jsmith.ics

    或者,以 XML 格式 (文字/XML) 將行事曆 jsmithcal 備份至 backupdir 目錄中的 jsmith.xml 檔案:


    csbackup -c jsmithcal calendar backupdir/jsmith.xml

Procedure將使用者的預設行事曆備份至檔案

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要以 iCalendar 或 XML 格式將使用者的預設行事曆備份至文字檔案,請使用 csbackup 公用程式的 def cal 指令。您為輸出檔案指定的檔案副檔名 (.ics.xml) 決定使用何種格式。

    例如,以 iCalendar (文字/行事曆 MIME) 格式將行事曆使用者 jsmith 的預設行事曆備份至備份目錄中名為 jsmith.ics 的檔案:


    csbackup -a jsmith defcal backupdir/jsmith.ics

    或者,以 XML (文字/xml MIME) 格式將行事曆使用者 jsmith 的預設行事曆備份至備份目錄中名為 jsmith.xml 的檔案:


    csbackup -a jsmith defcal backupdir/jsmith.xml

復原 Calendar Server 資料

csrestore 公用程式可復原使用 csbackup 儲存的行事曆資料庫、個別行事曆或使用者的預設行事曆。您必須在安裝 Calendar Server 的本地機器上執行 csrestore 公用程式,並且必須先停止 Calendar Server。(但是,當您備份資料庫時,Calendar Server 可以正在執行。)

本小節說明以下內容:

Procedure復原行事曆資料庫

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要復原使用 csbackup 公用程式儲存至備份目錄的行事曆資料庫,請使用 csrestore 公用程式的 database 指令。

    例如,復原儲存至名為 backupdir 的備份目錄的行事曆資料庫:


    csrestore database backupdir

Procedure從備份目錄復原行事曆

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要從使用 csbackup 公用程式儲存至備份目錄的資料庫復原特定行事曆,請使用 csrestore 公用程式的 database 指令與 -c 選項。

    例如,從備份資料庫目錄 backupdir 復原行事曆 jsmithcal


    csrestore -c jsmithcal calendar backupdir

Procedure從檔案復原行事曆

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要復原使用 csbackup 公用程式儲存至備份檔案的特定行事曆,請使用 csrestore 公用程式的 calendar 指令與 -c 選項。

    備份檔案的檔案副檔名 (.ics.xml) 指示儲存行事曆時使用的格式。

    例如,復原以 iCalendar (文字/行事曆 MIME) 格式儲存至 backupdir 目錄中的檔案 jsmith.ics 中的行事曆 jsmithcal


    csrestore -c jsmithcal calendar backupdir/jsmith.ics

    或者,復原以 XML (文字/行事曆 MIME) 格式儲存至 bcakupdir 目錄中的檔案 jsmith.xml 中的行事曆 jsmithcal


    csrestore -c jsmithcal calendar backupdir/jsmith.xml

Procedure復原使用者的預設行事曆

步驟
  1. 以資料庫所有者 (icsuser) 的身份登入。

  2. 若要復原使用 csbackup 公用程式儲存至備份檔案的使用者預設行事曆,請使用 csrestore 公用程式的 defcal 指令。

    備份檔案的檔案副檔名 (.ics.xml) 指示儲存行事曆時使用的格式。

    例如,復原以 iCalendar (文字/行事曆 MIME) 格式儲存至備份目錄 backupdir 中名為 jsmith.ics 之檔案的行事曆使用者 jsmith 的預設行事曆:


    csrestore -a jsmith defcal backupdir/jsmith.ics

    復原以 XML (文字/xml MIME) 格式儲存至備份目錄 backupdir 中名為 jsmith.xml 之檔案的行事曆使用者 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 工具

Calendar Server 在 /opt/SUNWics5/cal/sbin 目錄中提供以下檔案,以與 Sun StorEdge 或 Legato 備份軟體配合使用:

icsasm

Calendar Server 應用程式特定模組 (ASM)。ASM 是可由 Sun StorEdge 或 Legato 備份軟體進行呼叫以備份與復原資料的程式。

legbackup.sh

呼叫 csbackup 公用程式的程序檔。

legrestore.sh

– 呼叫 csrestore 公用程式的程序檔。

Procedure使用 Sun StorEdge Enterprise Backup 軟體或 Legato Networker 備份行事曆資料

若要使用 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 目錄,並執行 csbackup 公用程式與 -l 選項。例如:


    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 指令行公用程式,從而實現自動化的備份程序。

Procedure使用 Sun StorEdge Enterprise Backup 軟體或 Legato 軟體復原行事曆資料

若要復原行事曆資料,請:

步驟
  1. 使用 Sun StorEdge Enterprise Backup 軟體的 nwrestore 功能或 recover 指令復原已備份的行事曆資訊。

    如果您使用 nwrestore,則會收到以下訊息:


    "File already exists. Do you want to overwrite, skip, backup, or rename?"
  2. 請選擇 overwrite

    顯示此訊息是因為備份樹只是目錄階層。即備份樹由空檔案組成,並永久保持該方式。