備份和還原 backup-and-restore
在AEM中有兩種方式可備份和還原存放庫內容:
- 您可以建立存放庫的外部備份,並將其儲存在安全的位置。 如果存放庫損毀,您可將它還原成先前的狀態。
- 您可以建立存放庫內容的內部版本。 這些版本與內容一起儲存在存放庫中,因此您可以快速還原已變更或刪除的節點和樹狀結構。
一般 general
這裡說明的方法適用於系統備份與復原。
如果您需要備份和/或復原少量遺失的內容,則不需要復原系統:
- 您可以透過套件從其他系統擷取資料
- 或者,您也可以在暫存系統上還原備份,建立內容套件並將其部署在缺少此內容的系統上。
如需詳細資訊,請參閱下方的封裝備份。
時程 timing
請勿與資料存放區垃圾收藏集並行執行備份,因為這樣可能會損害兩個流程的結果。
離線備份 offline-backup
您一律可以進行離線備份。 這需要AEM的停機時間,但相較於線上備份,在所需時間方面可能相當有效。
在大多數情況下,您會使用檔案系統快照,建立儲存裝置的唯讀復本。 若要建立離線備份,請執行下列步驟:
- 停止應用程式
- 建立快照集備份
- 啟動應用程式
由於快照備份通常只需要幾秒鐘,因此整個停機時間少於幾分鐘。
線上備份 online-backup
此備份方法會建立整個存放庫的備份,包括部署在其下的任何應用程式,例如AEM。 備份包括內容、版本記錄、設定、軟體、Hotfix、自訂應用程式、記錄檔、搜尋索引等。 如果您使用叢集,而且共用資料夾是crx-quickstart
的子目錄(實體上或使用軟連結),也會備份共用目錄。
您稍後可以還原整個存放庫(以及任何應用程式)。
此方法會當作「熱」或「線上」備份運作,因此可在存放庫執行時執行。 因此,在執行備份時,可以使用存放庫。 此方法適用於預設的Tar儲存基礎存放庫執行個體。
建立備份時,您有以下選項:
- 使用AEM整合式備份工具備份到目錄。
- 使用檔案系統快照備份至目錄
在任何情況下,備份都會建立存放庫的影像(或快照)。 接著,系統備份代理程式應小心將影像實際傳輸至專用的備份系統(磁帶機)。
crx-quickstart
"目錄之外,並個別備份資料存放區。AEM線上備份 aem-online-backup
存放庫的線上備份可讓您建立、下載和刪除備份檔案。 這是「熱備」或「線上」備份功能,因此可在存放庫正常以讀寫模式使用時執行。
開始備份時,您可以指定 目標路徑 和/或 延遲。
目標路徑 備份檔案通常儲存在含有quickstart jar檔案(.jar)之資料夾的父資料夾中。 例如,如果您的AEM jar檔案位於/InstallationKits/AEM下,則會在/InstallationKits下產生備份。 您也可以指定目標至您選擇的位置。
如果 TargetPath 是目錄,則會在此目錄中建立存放庫的影像。 如果同一目錄被多次(或一律使用)用來儲存備份,
- 在TargetPath中會相應修改儲存庫中已修改的檔案
- 存放庫中刪除的檔案會在TargetPath中刪除
- 存放庫中建立的檔案會在TargetPath中建立
- 在備份過程中需要額外的磁碟儲存空間(暫存目錄加上zip檔案)
- 壓縮程式由存放庫完成,可能會影響其效能。
- 這會延遲備份程式。
- Java 1.6版最多只能建立4 GB大小的ZIP檔案。
Delay 表示時間延遲(以毫秒為單位),因此存放庫效能不受影響。 依預設,存放庫備份會以全速執行。 您可以減慢建立線上備份的速度,以免減慢其他工作的速度。
如果延遲時間非常長,請確認線上備份所需時間不超過24小時。 如果是,請捨棄此備份,因為它可能不包含所有二進位檔。
1毫秒的延遲通常會導致10%的CPU使用率,而10毫秒的延遲通常會導致3%的CPU使用率。 延遲總秒數估計如下:存放庫大小(以MB為單位),乘以延遲(以毫秒為單位),再除以2 (如果使用zip選項),或再除以4 (備份到目錄時)。 這表示備份至200 MB存放庫的目錄,且延遲達1毫秒,會將備份時間增加約50秒。
若要建立備份:
-
以管理員身分登入AEM。
-
移至 工具 — 作業 — 備份。
-
按一下「建立」。備份主控台隨即開啟。
-
note note NOTE 備份主控台也可透過以下方式使用: https://<*hostname*>:<*port-number*>/libs/granite/backup/content/admin.html
-
按一下 儲存,進度列會顯示備份進度。
note note NOTE 您可以隨時 取消 執行中的備份。 -
備份完成後,壓縮檔會列在備份視窗中。
note note NOTE 您可使用主控台移除不再需要的備份檔案。 在左窗格中選取備份檔案,然後按一下[刪除]。 note note NOTE 如果您已備份到目錄:備份程式完成後,AEM將不會寫入目標目錄。
自動化AEM線上備份 automating-aem-online-backup
如果可能的話,應該在系統負載很小時(例如在早上)執行線上備份。
可使用wget
或curl
HTTP使用者端自動進行備份。 以下是如何使用curl自動化備份的範例。
備份到預設的目標目錄 backing-up-to-the-default-target-directory
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"
檔案系統快照備份 filesystem-snapshot-backup
這裡所述的程式特別適用於大型存放庫。
-
對部署了AEM的檔案系統進行快照。
-
掛載檔案系統快照。
-
執行備份並解除安裝快照。
AEM Online Backup如何運作 how-aem-online-backup-works
AEM Online Backup由一系列內部動作組成,以確保要備份的資料與要建立的備份檔案的完整性。 以下列出感興趣的訪客名單。
線上備份使用下列演演算法:
-
建立zip檔案時,第一步是建立或尋找目標目錄。
-
如果備份至zip檔案,則會建立暫存目錄。 目錄名稱以
backup.
開頭並以.temp
結尾;例如backup.f4d3.temp
。 -
如果備份到目錄,則會使用目標路徑中指定的名稱。 可以使用現有的目錄,否則將會建立新目錄。
備份開始時,會在目標目錄中建立名為
backupInProgress.txt
的空白檔案。 備份完成時會刪除此檔案。
-
-
檔案會從來源目錄複製到目標目錄(或建立zip檔案時的暫存目錄)。 區段存放區會在資料存放區之前複製,以避免存放庫損毀。 建立備份時,會省略索引和快取資料。 因此,備份中不包含來自
crx-quickstart/repository/cache
和crx-quickstart/repository/index
的資料。 建立zip檔案時,流程的進度列指標介於0%-70%之間,如果未建立zip檔案,則介於0%-100%之間。 -
如果備份是在預先存在的目錄中進行,則會刪除目標目錄中的「舊」檔案。 舊檔案是來源目錄中不存在的檔案。
檔案會分四個階段複製到目標目錄:
-
在第一個複製階段(建立zip檔案時進度指示器0% - 63%,如果未建立zip檔案,則進度指示器0% - 90%),所有檔案會在存放庫正常執行時複製。 此程式有兩個階段:
- 階段A — 除了資料存放區以外會複製所有專案(延遲)。
- 階段B — 僅複製資料存放區(延遲)。
-
在第二個複製階段中(建立zip檔案時進度指示器為63% - 65.8%,若未建立zip檔案,則為90% - 94%),只會複製自第一個複製階段開始後在來源目錄中建立或修改的檔案。 根據存放庫的活動,這可能從完全沒有檔案到大量檔案不等(因為第一個檔案複製階段通常需要的時間最長)。 復製程式與第一階段(階段A和階段B有延遲)類似。
-
在第三個複製階段(建立zip檔案時進度指示器65.8% - 68.6%,或若未建立zip檔案,則進度指示器94% - 98%)只會複製第二個複製階段開始後在來源目錄中建立或修改的檔案。 根據存放庫的活動,可能沒有要複製的檔案或檔案數量非常少(因為第二個檔案複製階段通常很快)。 復製程式類似於第二個階段 — 階段A和階段B,但不會延遲。
-
儲存庫執行時,檔案複製階段一到三都會同時完成。 只會複製自第三個複製階段啟動後在來源目錄中建立或修改的檔案。 根據存放庫的活動,可能沒有要複製的檔案,或者檔案數量非常少(因為第二個檔案複製階段通常非常快)。 進度指示器68.6% - 70% (建立zip檔案時)或98% - 100% (未建立zip檔案時)。 復製程式類似於第三個階段。
-
視目標而定:
- 如果已指定zip檔案,現在會從暫存目錄建立它。 進度指示器70% - 100%。 然後刪除暫存目錄。
- 如果目標為目錄,則會刪除名為
backupInProgress.txt
的空白檔案,以指出備份已完成。
還原備份 restoring-the-backup
您可以還原備份,如下所示:
- 如果您已執行檔案系統快照備份,您只需還原系統映像即可。
- 如果您將備份建立為zip檔案,只需將內容解壓縮到新資料夾中,然後從該位置啟動AEM。
封裝備份 package-backup
若要備份和還原內容,您可以使用其中一個「封裝管理員」,其會使用「內容封裝」格式來備份和還原內容。 「封裝管理員」在定義和管理封裝時可提供更大的彈性。
如需這些個別內容封裝格式的功能和折衷的詳細資訊,請參閱如何使用封裝。
備份範圍 scope-of-backup
當您使用「封裝管理員」或「內容拉鍊」備份節點時,CRX會儲存下列資訊:
- 您選取的樹狀結構下方的存放庫內容。
- 用於您備份之內容的Node型別定義。
- 用於備份內容的名稱空間定義。
備份時,AEM會遺失下列資訊:
- 版本記錄。