尝试使用s3cmd将S3目录下载到本地计算机。我正在使用命令:
s3cmd sync --skip-existing s3://bucket_name/remote_dir ~/local_dir
但是,如果我在中断后重新开始下载,s3cmd不会跳过之前下载的现有本地文件并重写它们。命令有什么问题?
我遇到了同样的问题,并在 William Denniss 的评论 #38 中找到了解决方案http://s3tools.org/s3cmd-sync
如果你有:
$s3cmd sync —verbose s3://mybucket myfolder
将其更改为:
$s3cmd sync —verbose s3://mybucket/ myfolder/ # note the trailing slash
然后,比较 MD5 哈希值,一切正常!-skip-existing 也可以。
回顾一下,如果您使用第一个命令,--skip-existing 和 md5 检查都不会发生,如果您使用第二个命令,两者都可以工作(我在上一篇文章中犯了一个错误,因为我正在使用 2 个不同的目录进行测试)。
请改用 boto-rsync。 https://github.com/seedifferently/boto_rsync
它仅将新的/更改的文件从 s3 正确同步到本地目录。