使用AWS-CLI将数据同步到S3中的空目录时,它几乎是即时的。但是,当同步到一个大目录(几百万个文件夹)时,甚至需要很长时间才能开始上传/同步文件。
有替代方法吗?在同步之前,它似乎试图考虑S3目录中的所有文件 - 我不需要这样做,并且在未事先检查的情况下上传数据就没问题了。
答案 0 :(得分:14)
sync
命令需要枚举存储桶中的所有文件,以确定存储桶中是否已存在本地文件,以及它是否与本地文件相同。你在文件中存的文件越多,它就会越长。
如果您不需要此sync
行为,只需使用递归复制命令,如:
aws s3 cp --recursive . s3://mybucket/
这应该将当前目录中的所有本地文件复制到S3中的存储桶。
答案 1 :(得分:1)
您可以在使用--no-check-md5
时使用sync
选项来禁用MD5总和比较,以显着加快处理过程-
--no-check-md5 Do not check MD5 sums when comparing files for [sync].
Only size will be compared. May significantly speed up
transfer but may also miss some changed files.
示例:s3cmd --no-check-md5 sync /directory/to/sync s3://mys3bucket/