【Azure 應用服務】備份網站時由於文件太大了,導致應用服務備份失敗。如何解決?
- 2021 年 4 月 27 日
- 筆記
- 【Azure 應用服務】, App Service, App Service備份失敗情況
問題描述
備份網站時由於文件太大了,導致應用服務備份失敗。如何解決呢?
問題分析
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
文件。 指定要在此文件中排除的文件和文件夾列表。詳見://docs.microsoft.com/zh-cn/azure/app-service/manage-backup#exclude-files-from-your-backup
二:手動下載文件到本地
1)如需要下載的文件過多,可以先通過tar命令進行壓縮後下載(可直接在kudu中,點擊文件右邊的下載圖標)
- 壓縮當前目錄命令:tar -cf testappservice.tar .
2) 使用FTP連接到App Service下載
參考官方文檔的「使用 FTP/S 將應用部署到 Azure 應用服務」,同樣的方式下載文件。
3)使用git clone把文件全部克隆到本地
- 在部署中心選擇local git 保存,之後記錄一下git clone url
- 運行下面的命令 uri為git clone uri : git clone //xxx.scm.chinacloudsites.cn:443/xxx.git
附錄一:使用命令【du -sh *】在kudu中查看wwwroot文件夾下文件的大小
附錄二:App Service登錄Kudu站點的方式
- 登錄進當前應用服務的kudu站點,入口URL為://<yoursitename>.scm.chinacloudsites.cn/
- 在門戶中登錄Kudu站點(Azure門戶:App Service -> Development Tools -> Advanced Tools -> Go)
參考資料
在 Azure 中備份應用 : //docs.azure.cn/zh-cn/app-service/manage-backup
從本地 Git 部署到 Azure 應用服務 : //docs.azure.cn/zh-cn/app-service/deploy-local-git
使用 FTP/S 將應用部署到 Azure 應用服務 : //docs.azure.cn/zh-cn/app-service/deploy-ftp