備份和還原 backup-and-restore

在AEM中有兩種方式可備份和還原存放庫內容:

  • 您可以建立存放庫的外部備份,並將其儲存在安全的位置。 如果存放庫損毀,您可將它還原成先前的狀態。
  • 您可以建立存放庫內容的內部版本。 這些版本與內容一起儲存在存放庫中,因此您可以快速還原已變更或刪除的節點和樹狀結構。

一般 general

這裡說明的方法適用於系統備份與復原。

如果您需要備份和/或復原少量遺失的內容,則不需要復原系統:

  • 您可以透過套件從其他系統擷取資料
  • 或者,您也可以在暫存系統上還原備份,建立內容套件並將其部署在缺少此內容的系統上。

如需詳細資訊,請參閱下方的封裝備份

時程 timing

請勿與資料存放區垃圾收藏集並行執行備份,因為這樣可能會損害兩個流程的結果。

離線備份 offline-backup

您一律可以進行離線備份。 這需要AEM的停機時間,但相較於線上備份,在所需時間方面可能相當有效。

在大多數情況下,您會使用檔案系統快照,建立儲存裝置的唯讀復本。 若要建立離線備份,請執行下列步驟:

  • 停止應用程式
  • 建立快照集備份
  • 啟動應用程式

由於快照備份通常只需要幾秒鐘,因此整個停機時間少於幾分鐘。

線上備份 online-backup

此備份方法會建立整個存放庫的備份,包括部署在其下的任何應用程式,例如AEM。 備份包括內容、版本記錄、設定、軟體、Hotfix、自訂應用程式、記錄檔、搜尋索引等。 如果您使用叢集,而且共用資料夾是crx-quickstart的子目錄(實體上或使用軟連結),也會備份共用目錄。

您稍後可以還原整個存放庫(以及任何應用程式)。

此方法會當作「熱」或「線上」備份運作,因此可在存放庫執行時執行。 因此,在執行備份時,可以使用存放庫。 此方法適用於預設的Tar儲存基礎存放庫執行個體。

建立備份時,您有以下選項:

  • 使用AEM整合式備份工具備份到目錄。
  • 使用檔案系統快照備份至目錄

在任何情況下,備份都會建立存放庫的影像(或快照)。 接著,系統備份代理程式應小心將影像實際傳輸至專用的備份系統(磁帶機)。

NOTE
如果在具有自訂Blobstore設定的AEM執行個體上使用AEM線上備份功能,建議將資料存放區的路徑設定為" crx-quickstart"目錄之外,並個別備份資料存放區。
CAUTION
線上備份只會備份檔案系統。 如果您將儲存庫內容和/或儲存庫檔案儲存在資料庫中,則需要分別備份該資料庫。 如果您使用AEM搭配MongoDB,請參閱有關如何使用MongoDB原生備份工具的檔案。

AEM線上備份 aem-online-backup

存放庫的線上備份可讓您建立、下載和刪除備份檔案。 這是「熱備」或「線上」備份功能,因此可在存放庫正常以讀寫模式使用時執行。

CAUTION
請勿同時執行AEM Online Backup與資料存放區記憶體回收修訂清除。 這會對系統效能產生負面影響。

開始備份時,您可以指定​ 目標路徑 ​和/或​ 延遲

目標路徑 ​備份檔案通常儲存在含有quickstart jar檔案(.jar)之資料夾的父資料夾中。 例如,如果您的AEM jar檔案位於/InstallationKits/AEM下,則會在/InstallationKits下產生備份。 您也可以指定目標至您選擇的位置。

如果​ TargetPath ​是目錄,則會在此目錄中建立存放庫的影像。 如果同一目錄被多次(或一律使用)用來儲存備份,

  • 在TargetPath中會相應修改儲存庫中已修改的檔案
  • 存放庫中刪除的檔案會在TargetPath中刪除
  • 存放庫中建立的檔案會在TargetPath中建立
NOTE
如果​ TargetPath ​設定為副檔名為​**.zip**​的檔案名稱,儲存庫會備份至暫存目錄,然後此暫存目錄的內容會壓縮並儲存在ZIP檔案中。
不建議使用此方法,因為
  • 在備份過程中需要額外的磁碟儲存空間(暫存目錄加上zip檔案)
  • 壓縮程式由存放庫完成,可能會影響其效能。
  • 這會延遲備份程式。
  • Java 1.6版最多只能建立4 GB大小的ZIP檔案。
如果您需要建立ZIP作為備份格式,您應該備份至目錄,然後使用壓縮程式來建立zip檔案。

Delay ​表示時間延遲(以毫秒為單位),因此存放庫效能不受影響。 依預設,存放庫備份會以全速執行。 您可以減慢建立線上備份的速度,以免減慢其他工作的速度。

如果延遲時間非常長,請確認線上備份所需時間不超過24小時。 如果是,請捨棄此備份,因為它可能不包含所有二進位檔。
1毫秒的延遲通常會導致10%的CPU使用率,而10毫秒的延遲通常會導致3%的CPU使用率。 延遲總秒數估計如下:存放庫大小(以MB為單位),乘以延遲(以毫秒為單位),再除以2 (如果使用zip選項),或再除以4 (備份到目錄時)。 這表示備份至200 MB存放庫的目錄,且延遲達1毫秒,會將備份時間增加約50秒。

NOTE
如需程式的內部詳細資訊,請參閱AEM Online Backup的運作方式

若要建立備份:

  1. 以管理員身分登入AEM。

  2. 移至​ 工具 — 作業 — 備份。

  3. 按一下「建立」。備份主控台隨即開啟。

    chlimage_1-1

  4. 在備份主控台上,指定​ 目標路徑 ​和​ 延遲

    chlimage_1-2

    note note
    NOTE
    備份主控台也可透過以下方式使用:
    https://<*hostname*>:<*port-number*>/libs/granite/backup/content/admin.html
  5. 按一下​ 儲存,進度列會顯示備份進度。

    note note
    NOTE
    您可以隨時​ 取消 ​執行中的備份。
  6. 備份完成後,壓縮檔會列在備份視窗中。

    chlimage_1-3

    note note
    NOTE
    您可使用主控台移除不再需要的備份檔案。 在左窗格中選取備份檔案,然後按一下[刪除]。
    note note
    NOTE
    如果您已備份到目錄:備份程式完成後,AEM將不會寫入目標目錄。

自動化AEM線上備份 automating-aem-online-backup

如果可能的話,應該在系統負載很小時(例如在早上)執行線上備份。

可使用wgetcurl HTTP使用者端自動進行備份。 以下是如何使用curl自動化備份的範例。

備份到預設的目標目錄 backing-up-to-the-default-target-directory

CAUTION
在下列範例中,curl命令中的各種引數可能需要針對您的執行個體進行設定;例如,主機名稱( localhost)、連線埠( 4502)、管理密碼( xyz)和檔案名稱( backup.zip)。
curl -u admin:admin -X POST http://localhost:4502/system/console/jmx/com.adobe.granite:type=Repository/op/startBackup/java.lang.String?target=backup.zip

備份檔案/目錄是在伺服器上包含crx-quickstart資料夾之資料夾的父資料夾中建立的(與使用瀏覽器建立備份時相同)。 例如,如果您已在目錄/InstallationKits/crx-quickstart/中安裝AEM,則備份會在/InstallationKits目錄中建立。

curl命令會立即傳回,因此您必須監視此目錄,以檢視zip檔案何時準備就緒。 建立備份時,可以看到暫存目錄(其名稱根據最終zip檔案的名稱而定),最後會壓縮這個目錄。 例如:

  • 產生的zip檔案名稱: backup.zip
  • 暫存目錄的名稱: backup.f4d5.temp

備份到非預設的目標目錄 backing-up-to-a-non-default-target-directory

通常備份檔案/目錄會建立於伺服器上包含crx-quickstart資料夾之資料夾的父資料夾中。

如果要將備份(任何一種排序)儲存到其他位置,您可以在curl命令中設定target引數的絕對路徑。

例如,若要在目錄/Backups/2012中產生backupJune.zip

curl -u admin:admin -X POST http://localhost:4502/system/console/jmx/com.adobe.granite:type=Repository/op/startBackup/java.lang.String?target=/Backups/2012/backupJune.zip"
CAUTION
使用不同的應用程式伺服器(例如JBoss)時,線上備份可能無法如預期運作,因為目標目錄不可寫入。 在此情況下,請聯絡支援人員。
NOTE
也可以使用AEM🔗提供的MBean 觸發備份。

檔案系統快照備份 filesystem-snapshot-backup

這裡所述的程式特別適用於大型存放庫。

NOTE
如果要使用這種備份方法,您的系統必須支援檔案系統快照。 例如,對於Linux,這表示您的檔案系統應該放在邏輯磁碟區上。
  1. 對部署了AEM的檔案系統進行快照。

  2. 掛載檔案系統快照。

  3. 執行備份並解除安裝快照。

AEM Online Backup如何運作 how-aem-online-backup-works

AEM Online Backup由一系列內部動作組成,以確保要備份的資料與要建立的備份檔案的完整性。 以下列出感興趣的訪客名單。

線上備份使用下列演演算法:

  1. 建立zip檔案時,第一步是建立或尋找目標目錄。

    • 如果備份至zip檔案,則會建立暫存目錄。 目錄名稱以backup.開頭並以.temp結尾;例如backup.f4d3.temp

    • 如果備份到目錄,則會使用目標路徑中指定的名稱。 可以使用現有的目錄,否則將會建立新目錄。

      備份開始時,會在目標目錄中建立名為backupInProgress.txt的空白檔案。 備份完成時會刪除此檔案。

  2. 檔案會從來源目錄複製到目標目錄(或建立zip檔案時的暫存目錄)。 區段存放區會在資料存放區之前複製,以避免存放庫損毀。 建立備份時,會省略索引和快取資料。 因此,備份中不包含來自crx-quickstart/repository/cachecrx-quickstart/repository/index的資料。 建立zip檔案時,流程的進度列指標介於0%-70%之間,如果未建立zip檔案,則介於0%-100%之間。

  3. 如果備份是在預先存在的目錄中進行,則會刪除目標目錄中的「舊」檔案。 舊檔案是來源目錄中不存在的檔案。

檔案會分四個階段複製到目標目錄:

  1. 在第一個複製階段(建立zip檔案時進度指示器0% - 63%,如果未建立zip檔案,則進度指示器0% - 90%),所有檔案會在存放庫正常執行時複製。 此程式有兩個階段:

    • 階段A — 除了資料存放區以外會複製所有專案(延遲)。
    • 階段B — 僅複製資料存放區(延遲)。
  2. 在第二個複製階段中(建立zip檔案時進度指示器為63% - 65.8%,若未建立zip檔案,則為90% - 94%),只會複製自第一個複製階段開始後在來源目錄中建立或修改的檔案。 根據存放庫的活動,這可能從完全沒有檔案到大量檔案不等(因為第一個檔案複製階段通常需要的時間最長)。 復製程式與第一階段(階段A和階段B有延遲)類似。

  3. 在第三個複製階段(建立zip檔案時進度指示器65.8% - 68.6%,或若未建立zip檔案,則進度指示器94% - 98%)只會複製第二個複製階段開始後在來源目錄中建立或修改的檔案。 根據存放庫的活動,可能沒有要複製的檔案或檔案數量非常少(因為第二個檔案複製階段通常很快)。 復製程式類似於第二個階段 — 階段A和階段B,但不會延遲。

  4. 儲存庫執行時,檔案複製階段一到三都會同時完成。 只會複製自第三個複製階段啟動後在來源目錄中建立或修改的檔案。 根據存放庫的活動,可能沒有要複製的檔案,或者檔案數量非常少(因為第二個檔案複製階段通常非常快)。 進度指示器68.6% - 70% (建立zip檔案時)或98% - 100% (未建立zip檔案時)。 復製程式類似於第三個階段。

  5. 視目標而定:

    • 如果已指定zip檔案,現在會從暫存目錄建立它。 進度指示器70% - 100%。 然後刪除暫存目錄。
    • 如果目標為目錄,則會刪除名為backupInProgress.txt的空白檔案,以指出備份已完成。

還原備份 restoring-the-backup

您可以還原備份,如下所示:

  • 如果您已執行檔案系統快照備份,您只需還原系統映像即可。
  • 如果您將備份建立為zip檔案,只需將內容解壓縮到新資料夾中,然後從該位置啟動AEM。

封裝備份 package-backup

若要備份和還原內容,您可以使用其中一個「封裝管理員」,其會使用「內容封裝」格式來備份和還原內容。 「封裝管理員」在定義和管理封裝時可提供更大的彈性。

如需這些個別內容封裝格式的功能和折衷的詳細資訊,請參閱如何使用封裝

備份範圍 scope-of-backup

當您使用「封裝管理員」或「內容拉鍊」備份節點時,CRX會儲存下列資訊:

  • 您選取的樹狀結構下方的存放庫內容。
  • 用於您備份之內容的Node型別定義。
  • 用於備份內容的名稱空間定義。

備份時,AEM會遺失下列資訊:

  • 版本記錄。
recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2