寻找 s3cmd --delete-removed 的等效 AWS CLI

Looking for AWS CLI equivalent for s3cmd --delete-removed

我正在从 s3cmd 工具转移到由 Amazon 分发的官方 aws CLI 工具,并且在转换旧脚本时,我很好奇如何构造这个等效命令:

s3cmd --delete-removed sync s3://$BUCKET $LOCAL_DIR/

s3cmd 文档中,我看到 --delete-removed 定义为:Delete remote objects with no corresponding local file.

但是,这里哪个算远程,哪个算本地?我担心带有 --delete 标志的 aws s3 sync 命令不会呈现相同的结果。

s3cmd --delete-removed sync s3://$BUCKET $LOCAL_DIR/

aws s3 sync s3://$BUCKET $LOCAL_DIR/ --delete

相同的命令?

感谢您帮助我解开困惑!

看起来是一样的

基于 aws cli s3 sync documentation,

--delete (boolean) Files that exist in the destination but not in the source are deleted during sync

所以在你的情况下,

aws s3 sync s3://$BUCKET $LOCAL_DIR/ --delete

会将 s3://$BUCKET 中的所有文件复制到 $LOCAL_DIR/,但如果 s3://$BUCKET

中不存在,则删除 $LOCAL_DIR/ 中的文件

example section 下查看此示例