【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决?
问题描述
备份网站时由于文件太大了,导致应用服务备份失败。如何解决呢?
问题分析
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 .

2) 使用FTP连接到App Service下载
参考官方文档的“使用 FTP/S 将应用部署到 Azure 应用服务”,同样的方式下载文件。
3)使用git clone把文件全部克隆到本地
- 在部署中心选择local git 保存,之后记录一下git clone url
- 运行下面的命令 uri为git clone uri : git clone https://xxx.scm.chinacloudsites.cn:443/xxx.git
附录一:使用命令【du -sh *】在kudu中查看wwwroot文件夹下文件的大小

附录二:App Service登录Kudu站点的方式
- 登录进当前应用服务的kudu站点,入口URL为:https://<yoursitename>.scm.chinacloudsites.cn/
- 在门户中登录Kudu站点(Azure门户:App Service -> Development Tools -> Advanced Tools -> Go)

参考资料
在 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
【Azure 应用服务】备份网站时由于文件太大了,导致应用服务备份失败。如何解决?的更多相关文章
- /var/spool/postfix/maildrop小文件太多造成inode索引使用完解决
/var/spool/postfix/maildrop 小文件太多造成inode索引使用完解决办法 问题表现和检查: 1.运行df -i / 查看inode使用是否满: 2.查看/var/spool/ ...
- U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法
U盘删除文件时提示“文件或目录损坏且无法读取”的解决方法 出现原因:在写入或读取文件时,进行复制操作,此时复制到的文件是不完整的!或者移动硬盘/U盘中途被拔出,导致文件损坏 异常现象:被删文件(夹)属 ...
- 解决asp.net上传文件时文件太大导致的错误
即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules> <add name="UploadHttpModu ...
- vs2010发布网站时有些文件没有发布出去的解决办法。
项目中包含了一些ttf字体文件做为图标使用,可是发布时发现生成的目录中没有这个文件,这种情况这么设置一下就可以解决: 1,在文件上点击右键,选择“属性”. 2,在弹出的属性窗口中,更改“生成操作”为“ ...
- [文章存档]Azure .net WebAPP的js/css文件过大导致访问慢的解决办法
https://docs.azure.cn/zh-cn/articles/azure-operations-guide/app-service-web/aog-app-service-web-qa-j ...
- vs2008 发布网站时丢失文件问题
右键指定的文件->属性, 将生成操作更改成为"内容"就可以了.
- asp.net网站中增删文件夹会导致Session或cache等等丢失
因为这会导致网站资源本身重新加载. 如果要改变文件和文件夹,一般应该是对 app_data 下进行操作.
- js上传文件过大导致上传失败原因以及解决办法
背景:项目需要用到上传视频功能,由于视频有知识产权,要求必须上传到自己的服务器上不允许用第三方视频网站接口上传,于是一开始开始用的是input type=file去上传,小的视频上传没有问题,上传将近 ...
- C#中窗口关闭时没有取消事件订阅导致事件重复执行的解决方法
场景 C#中委托与事件的使用-以Winform中跨窗体传值为例: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100150700 ...
随机推荐
- base64图片显示问题
1.问题描述 小程序项目需要后端接口提供base64流的图片,对于H5的语法,前面拼接后面的代码即可: data:image/png;base64, 先看后台代码: @RestController @ ...
- 后端程序员之路 27、LogStash
访谈与书评:<LogStash,使日志管理更简单>http://www.infoq.com/cn/articles/review-the-logstash-book/ [Logstash] ...
- 【Azure 服务总线】Azure Service Bus中私信(DLQ - Dead Letter Queue)如何快速清理
在博文ServiceBus 队列中死信(DLQ - Dead Letter Queue)问题一文中,介绍了服务总线产生私信的原因及可以通过代码的方式来清楚私信队列中的消息,避免长期占用空间(因为私信中 ...
- HDOJ-1213(简单并查集)
How many tables HDOJ-1213 #include<iostream> #include<cstring> #include<cstdio> #i ...
- shell脚本,mysql数据库的备份,并压缩
db_user="root"db_passwd="xxx"db_host="localhost" databases="xxx-p ...
- vue全家桶和react全家桶
vue全家桶:vue + vuex (状态管理) + vue-router (路由) + vue-resource +axios +elementui react全家桶 : react + re ...
- Nodejs学习笔记(1) Nodejs安装+借助express模块简单部署服务器
1 安装 1.1 下载和安装 1.2 什么是REPL?如何使用? 1.3 npm对单一模块的安装和删除功能 1.4 通过package.json自定义模块(安装模块) 1.5 设置全局目录 2 部署网 ...
- Docker SDK api操作Docker
下载包 go get "github.com/docker/docker/api/types" go get "github.com/docker/docker/clie ...
- 通过 Battery Historian 工具分析 Android APP 耗电情况
电量统计模块概述 Android 从两个层面统计电量的消耗,分别为 软件排行榜 及 硬件排行榜.它们各有自己的耗电榜单,软件排行榜为机器中每个 App 的耗电榜单,硬件排行榜则为各个硬件的耗电榜单.这 ...
- springboot源码解析-管中窥豹系列之BeanDefine如何加载(十三)
一.前言 Springboot源码解析是一件大工程,逐行逐句的去研究代码,会很枯燥,也不容易坚持下去. 我们不追求大而全,而是试着每次去研究一个小知识点,最终聚沙成塔,这就是我们的springboot ...