【Azure 應用服務】備份網站時由於檔案太大了,導致應用服務備份失敗。如何解決?

路邊兩盞燈發表於2021-04-27

問題描述

備份網站時由於檔案太大了,導致應用服務備份失敗。如何解決呢? 

 

問題分析

App Service (應用服務)的備份功能有10GB大小的限制,超過了是無法備份成功的並且該限制是無法擴大的。檢視微軟雲的官方網站,備份功能還有以下限制要求:

  • 備份和還原功能要求應用服務計劃處於標準層、高階層或隔離層 。 
  • 在與要備份的應用相同的訂閱中,需要有一個 Azure 儲存帳戶和容器。
  • 最多可備份 10 GB 的應用和資料庫內容。 如果備份大小超過此限制,會出錯。
  • 不支援備份啟用了 TLS 的 Azure Database for MySQL。 如果已配置備份,則會遇到備份失敗。
  • 不支援備份啟用了 TLS 的 Azure Database for PostgreSQL。 如果已配置備份,則會遇到備份失敗。
  • 應用內 MySQL 資料庫無需任何配置即可自動備份。 如果對應用內 MySQL 資料庫進行手動設定,例如新增連線字串,則備份可能無法正常工作。
  • 不支援將啟用了防火牆的儲存帳戶用作備份目標。 如果已配置備份,則會遇到備份失敗。

 

解決辦法

核心思想就是避開10GB的限制,減少需要備份的檔案。

 

一:配置App Service的部分備份或者時排除不需要備份的檔案

在應用的 D:\home\site\wwwroot 資料夾中建立一個 _backup.filter 檔案。 指定要在此檔案中排除的檔案和資料夾列表。詳見:https://docs.microsoft.com/zh-cn/azure/app-service/manage-backup#exclude-files-from-your-backup

 

二:手動下載檔案到本地

1)如需要下載的檔案過多,可以先通過tar命令進行壓縮後下載(可直接在kudu中,點選檔案右邊的下載圖示)

  • 壓縮當前目錄命令:tar -cf testappservice.tar . 

【Azure 應用服務】備份網站時由於檔案太大了,導致應用服務備份失敗。如何解決?

 

2) 使用FTP連線到App Service下載

參考官方文件的“使用 FTP/S 將應用部署到 Azure 應用服務”,同樣的方式下載檔案。

 

3)使用git  clone把檔案全部克隆到本地

 

附錄一:使用命令【du -sh *】在kudu中檢視wwwroot資料夾下檔案的大小

【Azure 應用服務】備份網站時由於檔案太大了,導致應用服務備份失敗。如何解決?

附錄二:App Service登入Kudu站點的方式

【Azure 應用服務】備份網站時由於檔案太大了,導致應用服務備份失敗。如何解決?

 

 

參考資料

在 Azure 中備份應用https://docs.azure.cn/zh-cn/app-service/manage-backup

從本地 Git 部署到 Azure 應用服務https://docs.azure.cn/zh-cn/app-service/deploy-local-git

使用 FTP/S 將應用部署到 Azure 應用服務https://docs.azure.cn/zh-cn/app-service/deploy-ftp

 

相關文章