如果我运行EC2竞价型实例,则可以随时终止此实例。要保存日期,请同步整个directory A (which contains file B and C)
并通过file D
单独aws s3 sync
。
如果某个实例在aws sync s3
?
我想避免目录A及其内容上传的情况,但我的单独file D
不是由于aws s3 sync
期间的关闭造成的。或者目录A部分同步。
确保S3上的目录/文件集{A,B,C,D}始终指向当前状态或始终指向先前状态最简单的解决方案是什么?
所以我有一些问题:
有没有办法让aws s3 sync
automic ,所以如果在S3同步期间发生关机,S3上的所有文件都会保持同步之前的状态。
每个文件是aws s3 sync
原子?例如。假设它正在上传文件B,并且此同步过程被终止。 S3上的文件B现在是(a)可能已损坏还是(b)它是否包含旧状态?
还有其他可能性:例如AWS始终在终止之前完成同步,如果实例正在终止,则不接受新的同步请求。
如果第一个选项不可用,但第二个选项是,那么选项是TAR所有文件,然后同步。然而,这增加了一些额外的复杂性,因为当我启动一个新实例并从S3下载时,我需要在文件系统上播放TAR。
如果所有这些都没有帮助,那么可能(以及如何):
然后我可以在实例启动时做:
如果通过CLI工具无法做到这一点,例如, Java S3 SDK 提供“提交”多个文件上传的服务?如果是这样,因为那时我写了我的自定义文件syncer。
由于
答案 0 :(得分:0)
我可以监控Spot Termination Notifications,这让我有2分钟的时间来同步数据。