【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 ...
随机推荐
- finally会执行吗:try/catch的测试
翻译练习 原博客地址:Will it finally: a try/catch quiz 你知道try和catch是怎么工作的,但是你知道finally是怎么工作的吗?它是在抛出异常后执行还是在ret ...
- 剑指 Offer 20. 表示数值的字符串 + 有限状态自动机
剑指 Offer 20. 表示数值的字符串 Offer 20 常规解法: 题目解题思路:需要注意几种情况: 输入的字符串前后可能有任意多个空格,这是合法的. 正负号: (1)正负号只能出现一次. (2 ...
- 面向青铜的java自学路线
有经验的人都知道,java还是需要一些路线的,因为java有些知识前后关联挺大的,先学后面和先学前面难度是不一样的. 如果你是新手,只要你知道路线这个东西,起码要比别人强,至少知道可以怎么走(更重要的 ...
- mysql查询较长的执行进程及创建权限账号
A:对于死锁,进程的操作 1.查找当前活跃事务 SELECT * from information_schema.INNODB_TRX 根据trx_started等判断事务是否异常锁定 2.杀死线程 ...
- 关于 PDB 文件你需要知道什么?
引言 大多数人知道 PDB 文件是用来帮助我们 debug 的,但也仅此而已. 本文主要介绍当你遇到 PDB 文件时(windows 开发中),你必须要知道的内容. 重要的事情说三遍 PDB 文件和源 ...
- TensorFlow学习(1)-初识
初识TensorFlow 一.术语潜知 深度学习:深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法. 深度学 ...
- [POJ2828] Buy Tickets(待续)
[POJ2828] Buy Tickets(待续) 题目大意:多组测试,每组给出\(n\)条信息\((a,b)\),表示\(b\)前面有\(a\)个人,顺序靠后的信息优先级高 Solution.1 由 ...
- renren-fast部署发布教程(tomcat)
renren-fast部署发布教程(tomcat) 说明:renren的开发文档需要付费,官方的生产部署介绍相对比较简单,因此记录自己的部署过程 为了方便,前后端我都部署在同一台linux服务器上,其 ...
- 15款NOSQL数据库
1.MongoDB 介绍 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案.当数据量达到50GB以上 ...
- 在 .NET Core 中构建 REST API
翻译自 Camilo Reyes 2020年8月26日的文章 <Build a REST API in .NET Core> [1] REST API 可以使用简单的动词(如 POST.P ...