php – AWS Glacier的服务器增量备份

前端之家收集整理的这篇文章主要介绍了php – AWS Glacier的服务器增量备份前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我希望将各种目录和文件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可能是更好的方法.使用像Duplicityrdiff-backup这样的工具(与s3fs一起使用)可以让您将增量备份带到S3存储桶并轻松管理它们.多年来我在一些Linux系统上使用了rdiff-backup,发现它工作得非常好.

原文链接:https://www.f2er.com/php/139265.html

猜你在找的PHP相关文章