php – AWS Glacier的服务器增量备份
我希望将各种目录和文件从
Linux服务器备份到AWS Glacier.我正在尝试解决有关如何管理此问题的详细信息.
增量备份 我想逐步上传文件.基本上,如果一个文件没有改变,我不想再将它上传到Glacier,如果它已经存在.我想我已经找到了这一部分.由于您无法获取Glacier文件库中存档的即时列表,因此我将保留上传文件的本地数据库,以便能够分辨库中存在的内容以及不存在的内容.这将允许我进行增量备份(仅上传丢失或更改的文件). 无法覆盖文件? 根据(http://aws.amazon.com/glacier/faqs/):
那么,如果我上传文件/存档会发生什么,然后,文件会在本地更改,下次我进行备份时,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存储和转移费用.
按Glacier FAQ:
那么这意味着您上传的每个文件都被分配了一个唯一的ID.上传相同的文件两次,文件的每个副本都有自己的ID.这使您能够根据需要还原到以前版本的文件.
为避免删除少于3个月的数据的附加费,这可能是最好的方法.但它不仅仅是您不再需要跟踪的数据.删除.如上所述,只要文件发生更改并将其重新上传到Glacier,您就会获得该文件的新ID.您最终还是希望删除该文件的旧版本,假设您不希望能够还原到那些旧版本.
这是你必须自己决定的权衡.您是否对所有内容进行了tar / zip,然后被迫跟踪这些文件及其中的所有内容,或者单独上传文件是否值得,以便您可以单独清除它们,因为它们不再需要. 您可能会考虑其他几种方法: >有两个或多个tar / zip存档,一个包含极不可能更改的文件(如系统文件),另一个包含配置文件和其他更有可能随时间变化的事物. 尽管如此,Glacier可能并不是满足您需求的最佳方法. Glacier非常适合数据存档,这与备份服务器不同.如果您只想对服务器进行增量备份,那么使用S3而不是Glacier可能是更好的方法.使用像Duplicity或rdiff-backup这样的工具(与s3fs一起使用)可以让您将增量备份带到S3存储桶并轻松管理它们.多年来我在一些Linux系统上使用了rdiff-backup,发现它工作得非常好. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |