我尝试使用sync命令执行此操作,但它尝试从目标存储桶中删除不在源存储桶中的文件。如何使用s3cmd
将两个桶移动到一个桶中?
情况是我设置了我们会使用多个存储桶的想法,但是客户端希望使用单个存储桶来存储所有文件。
当我尝试使用--skip-existing
标记它6559 files at destination to delete
时,这让我感到恐慌,所以我只是CTRL-C
'脚本。我再次重新同步了第一个桶以确定并且它说要删除13个目标文件,但是当我去桶时他们仍然在那里。是否可以安全地假设skip existing会阻止它从远程存储桶中删除源存储桶中不存在的文件?
答案 0 :(得分:0)
感谢来自github的@fviard来回答我的问题。这里复制的是我收到的答案:
默认情况下,同步不会删除目的地中不存在的文件 来源。它可以告诉你在摘要中,但它不会这样做 它。检查您是否具有以下配置:delete_after = 假delete_after_fetch = False delete_removed = False和你 不要在命令行上使用选项,例如" - 删除删除"。
顺便说一句,你不需要在分开的命令中做事。没有 " skip-existing",你可以这样做:同步 s3:// source1 / s3:// source2 / s3:// source3 / s3:// mydestination /
<强> TLDR;它只会删除文件,如果您在配置中将其配置为这样做。否则可以忽略警告信息。