【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决? - LuBu0505/My-Code GitHub Wiki

问题描述

备份网站时由于文件太大了,导致应用服务备份失败。如何解决呢?

问题分析

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 . https://img2020.cnblogs.com/blog/2127802/202104/2127802-20210427162035139-1901688637.png

2) 使用FTP连接到App Service下载

参考官方文档的“使用 FTP/S 将应用部署到 Azure 应用服务”,同样的方式下载文件。

3)使用git clone把文件全部克隆到本地

  1. 在部署中心选择local git保存,之后记录一下git clone url
  2. 运行下面的命令 uri为git clone uri :_ git clone https://xxx.scm.chinacloudsites.cn:443/xxx.git_

附录一:使用命令【du -sh *】在kudu中查看wwwroot文件夹下文件的大小

https://img2020.cnblogs.com/blog/2127802/202104/2127802-20210427161222633-1691469180.png

附录二:App Service登录Kudu站点的方式

  • 登录进当前应用服务的kudu站点,入口URL为:https://.scm.chinacloudsites.cn/
  • 在门户中登录Kudu站点(Azure门户:App Service -> Development Tools -> Advanced Tools -> Go) https://img2020.cnblogs.com/blog/2127802/202104/2127802-20210427163503807-1025986867.png

参考资料

在 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