![存储桶与本地目录的单向同步](https://linux22.com/image/796932/%E5%AD%98%E5%82%A8%E6%A1%B6%E4%B8%8E%E6%9C%AC%E5%9C%B0%E7%9B%AE%E5%BD%95%E7%9A%84%E5%8D%95%E5%90%91%E5%90%8C%E6%AD%A5.png)
我有一个本地目录,我想将其与 S3 存储桶同步。我有两个具体要求:
- 如果本地文件与远程相同,则不要将其重新传输到存储桶。
- 如果某些文件或目录存在于存储桶中但本地不存在,则删除它们。基本上,存储桶应该镜像本地副本,而不是反之亦然。
我查看了s3cmd sync
命令,但不幸的是要求 2 没有得到满足。如果文件存在于存储桶中但不在本地副本中,则它们将被复制到本地而不是被删除。
答案1
我最终通过进一步查阅 s3cmd 手册找到了答案。事实证明,有一些选项可以改变命令的行为。其中一个选项是按照我想要的方式--delete-removed
改变的:sync
--删除
Delete remote objects with no corresponding local file [sync]