我希望将各种目录和文件从 Linux服务器备份到AWS Glacier.我正在尝试解决有关如何管理此问题的详细信息.

增量备份

我想逐步上传文件.基本上,如果一个文件没有改变,我不想再将它上传到Glacier,如果它已经存在.我想我已经找到了这一部分.由于您无法获取Glacier文件库中存档的即时列表,因此我将保留上传文件的本地数据库,以便能够分辨库中存在的内容以及不存在的内容.这将允许我进行增量备份(仅上传丢失或更改的文件).

无法覆盖文件?

根据(http://aws.amazon.com/glacier/faqs/):

Archives stored in Amazon Glacier are immutable,i.e. archives can be
uploaded and deleted but cannot be edited or overwritten.

那么,如果我上传文件/存档会发生什么,然后,文件会在本地更改,下次我进行备份时,Glacier如何解决这个问题,因为它无法用新版本覆盖文件?

删除旧数据

AWS每GB收取0.03美元,以删除少于3个月的档案.由于我正在备份本地服务器,因此我想删除本地不再存在的存档.组织这个的最好方法是什么.使用本地存储的存档清单来确定哪些数据不再存在,如果它是> 3个月大,从冰川删除?这似乎很简单,但有更好的方法吗?

单个文件与TAR / ZIP文件

您可以将单个文件上传为存档,也可以通过在上传之前将文件分组为TAR或ZIP文件来提高效率. TAR / ZIP文件的想法很吸引人,因为它使它变得更简单并且你需要更少的存储费用,但我想知道如何处理增量上传.如果上传了包含10,000个文件的20 MB zip文件,并且其中一个文件在本地更改,我是否需要上传另一个20 MB的zip文件?现在我需要花费在这些zip文件中存储2份几乎所有内容的成本…另外,我将如何处理删除本地不存在的ZIP文件中的内容?由于我不想删除整个zip文件,现在我要收取费用来存储不再存在的文件.

也许我正在过度思考这一切.处理这些问题最简单的方法是什么?

我不知道它是否重要,但我正在使用PHP SDK来完成这个备份脚本.此外,我不想先上传到S3存储桶然后将存储桶备份到Glacier,因为我现在必须支付S3存储和转移费用.

So what happens if I upload a file/archive,then later,the file changes locally,and the next time I do a backup,how does Glacier deal with this since it can’t overwrite the file with a new version?

按Glacier FAQ:

You store data in Amazon Glacier as an archive. Each archive is assigned a unique archive ID that can later be used to retrieve the data. An archive can represent a single file or you may choose to combine several files to be uploaded as a single archive. You upload archives into vaults. Vaults are collections of archives that you use to organize your data.

那么这意味着您上传的每个文件都被分配了一个唯一的ID.上传相同的文件两次,文件的每个副本都有自己的ID.这使您能够根据需要还原到以前版本的文件.

Use the locally stored archive inventory to determine what data doesn’t exist anymore and if it’s > 3 months old,delete it from Glacier? That seems straightforward but is there a better approach to this?

为避免删除少于3个月的数据的附加费,这可能是最好的方法.但它不仅仅是您不再需要跟踪的数据.删除.如上所述,只要文件发生更改并将其重新上传到Glacier,您就会获得该文件的新ID.您最终还是希望删除该文件的旧版本,假设您不希望能够还原到那些旧版本.

If a 20 MB zip file is uploaded that contains 10,000 files,and one of those files is changed locally,do I need to upload another 20 MB zip file? Now I’m required to eat the cost of storing 2 copies of almost everything in those zip files… Also,how would I deal with deleting things in a ZIP file that don’t exist locally anymore? Since I don’t want to delete the whole zip file,Now I’m incurring fees to store files that don’t exist anymore.

这是你必须自己决定的权衡.您是否对所有内容进行了tar / zip,然后被迫跟踪这些文件及其中的所有内容,或者单独上传文件是否值得,以便您可以单独清除它们,因为它们不再需要.

您可能会考虑其他几种方法:

>有两个或多个tar / zip存档,一个包含极不可能更改的文件(如系统文件),另一个包含配置文件和其他更有可能随时间变化的事物.
>不要费心跟踪单个文件并将所有内容备份到一个上传到Glacier的tar / zip存档中.当每个存档达到3个月(或甚至更晚)时,只需将其删除即可.这为您提供了一种非常简单的跟踪方式.从给定的时间点恢复.

尽管如此,Glacier可能并不是满足您需求的最佳方法. Glacier非常适合数据存档,这与备份服务器不同.如果您只想对服务器进行增量备份,那么使用S3而不是Glacier可能是更好的方法.使用像Duplicity或rdiff-backup这样的工具(与s3fs一起使用)可以让您将增量备份带到S3存储桶并轻松管理它们.多年来我在一些Linux系统上使用了rdiff-backup,发现它工作得非常好.

php – AWS Glacier的服务器增量备份的更多相关文章

  1. 将AWS DynamoDB表中的数据加载到iOS上的UITableView

    我的iOS应用程序中使用Swift编写的一个屏幕是UITableView.在这个UITableView中,我想从AWSDynamoDB表中加载名为Books的数据.目前,这是我在故事板上的原型单元格:在表格中我有3个属性:“名称”,“价格”和“ISBN”.我想要的是扫描“书籍”表,并过滤结果,因此结果的“ISBN”属性将包含数字“9”.在我筛选结果后,我想将它们应用到UITableView,因此“

  2. 如何使用AWS iOS SDK从设备上传图像并设置为公开

    由于看起来我们只限于桶数,我试图找出如何完成以下操作:>我有一个iOS应用,用户可以上传一个个人资料图片.>个人资料可以被任何人查看(我想要公开).>理想情况下,我可以上传到一个桶(例如:myprofilepics.s3.amazonaws.com)>理想情况下,每个用户都可以上传到自己的子文件夹(例如:myprofilepics.s3.amazonaws.com/images/userXXX/>

  3. 如何将我的ios应用程序中的图像上传到存储在aws s3上的存储桶中,并在Swift中完成所有这些操作?

    v=WZ54fH8AFUk(不幸的是它在目标C在这里,我会很感激,如果你能帮助我一个迅捷版……解决方法请确保您有一个桥接标头,您可以在其中导入相应的AWS标头.GitHub上有一个名为here的例子.这样做应该使S3方法可用.-Rohan

  4. 如何将 Parse 服务器迁移到 Heroku 或 AWS

    然而,Parse已在一月份关闭,官方建议,在2017年1月28日彻底停止服务之前,请迁移Parse应用。在本节教程里,我们会讲述如何将parse-server部署到Salesforce旗下知名的云服务供应商Heroku。部署到Heroku有两种方法可供选择。接下来,部署Heroku。将Parse服务器部署到Heroku首先在电脑上安装Heroku工具条,从链接中可以找到官方安装指南。你的parse-server已经成功地部署到了Heroku。这个变量表示parse在Heroku服务器上的地址。

  5. centos – 每日增量备份每周完整备份

    我有一台带有CentOS5.6的服务器,上面有SVN,我希望每天对每次更改进行增量备份,同时每周进行一次完整备份.我需要在一台连接到服务器的外部硬盘上备份它.我确实使用rsync尝试了MikeRubel提供的示例,但它并没有真正进行增量备份–它正在进行完整备份.不幸的是我对bash脚本不熟悉:/任何帮助表示赞赏备份有两个原因:>灾难恢复>哦,@!

  6. ubuntu – 如何减少AWS EBS根卷大小?

    扩展EC2实例很容易就像一口气(例如,创建AMI,从中启动实例然后更改存储大小).但减少它变得更加困难.我想减少AmazonWebServices(AWS)EC2实例弹性块存储(EBS)根卷大小.网上有一对旧的高级程序.我发现的更详细的版本是关于StackOverflow问题的一年回答:howtocanireducemyebsvolumecapacity,步骤具有相当高的水平:Createanew

  7. ubuntu – 为什么aws云形成不安装我指定的包?

    我是AWS服务的新手.我正在尝试使用AWS云形成,我创建了一个模板.该模板没有错误,我可以使用它创建机器.但是我在模板中添加了一些配置,以便在启动时安装tomcat,git和其他东西.但这不会发生在我身上.这是我用于安装tomcat的代码的一部分:但是当我登录机器时既没有安装tomcat也没有安装git!

  8. ubuntu – 将AWS EC2临时存储磁盘上的文件系统格式从ext3转换为ext4

    我有一个实例存储EC2实例与Ubuntu11.04i386.目前我的磁盘分区如下所示:我可以将/mnt转换为ext4吗?

  9. ubuntu – 如何阻止来自Amazon AWS IP的传入流量?

    是否可以按某种方式对规则进行分组,以便定期更换它们而不会影响不相关的规则?或许还有其他更好的方法来解决这个问题?

  10. 为什么运行Ubuntu 12.04的EC2实例禁用“Bundle Instance”?

    我有一个基于实例存储的EC2实例,从官方Ubuntu12.04AMI启动.它启动并运行,我对它进行了一些更改.现在我想将设置捆绑为AMI,即保存我所做的更改.但我无法在AWS控制台上执行此操作:为什么“BundleInstance”选项显示为灰色?

随机推荐

  1. PHP个人网站架设连环讲(一)

    先下一个OmnihttpdProffesinalV2.06,装上就有PHP4beta3可以用了。PHP4给我们带来一个简单的方法,就是使用SESSION(会话)级变量。但是如果不是PHP4又该怎么办?我们可以假设某人在15分钟以内对你的网页的请求都不属于一个新的人次,这样你可以做个计数的过程存在INC里,在每一个页面引用,访客第一次进入时将访问时间送到cookie里。以后每个页面被访问时都检查cookie上次访问时间值。

  2. PHP函数学习之PHP函数点评

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助

  3. ecshop2.7.3 在php5.4下的各种错误问题处理

    将方法内的函数,分拆为2个部分。这个和gd库没有一点关系,是ecshop程序的问题。会出现这种问题,不外乎就是当前会员的session或者程序对cookie的处理存在漏洞。进过本地测试,includes\modules\integrates\ecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie()方法导致,验证cookie时返回的username为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可

  4. NT IIS下用ODBC连接数据库

    $connection=intodbc_connect建立数据库连接,$query_string="查询记录的条件"如:$query_string="select*fromtable"用$cur=intodbc_exec检索数据库,将记录集放入$cur变量中。再用while{$var1=odbc_result;$var2=odbc_result;...}读取odbc_exec()返回的数据集$cur。最后是odbc_close关闭数据库的连接。odbc_result()函数是取当前记录的指定字段值。

  5. PHP使用JpGraph绘制折线图操作示例【附源码下载】

    这篇文章主要介绍了PHP使用JpGraph绘制折线图操作,结合实例形式分析了php使用JpGraph的相关操作技巧与注意事项,并附带源码供读者下载参考,需要的朋友可以参考下

  6. zen_cart实现支付前生成订单的方法

    这篇文章主要介绍了zen_cart实现支付前生成订单的方法,结合实例形式详细分析了zen_cart支付前生成订单的具体步骤与相关实现技巧,需要的朋友可以参考下

  7. Thinkphp5框架实现获取数据库数据到视图的方法

    这篇文章主要介绍了Thinkphp5框架实现获取数据库数据到视图的方法,涉及thinkPHP5数据库配置、读取、模型操作及视图调用相关操作技巧,需要的朋友可以参考下

  8. PHP+jquery+CSS制作头像登录窗(仿QQ登陆)

    本篇文章介绍了PHP结合jQ和CSS制作头像登录窗(仿QQ登陆),实现了类似QQ的登陆界面,很有参考价值,有需要的朋友可以了解一下。

  9. 基于win2003虚拟机中apache服务器的访问

    下面小编就为大家带来一篇基于win2003虚拟机中apache服务器的访问。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  10. Yii2中组件的注册与创建方法

    这篇文章主要介绍了Yii2之组件的注册与创建的实现方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下

返回
顶部