我在寻找其他东西时偶然发现了这个问题,并认为您(或某人)可能想知道您可以使用其他可以保留原始(Linux)所有权信息的工具。肯定还有其他人,但我知道s3cmd可以保留所有权信息(存储在存储桶中对象的元数据中)并在将其同步回 Linux 机器时将其恢复。
同步的语法如下
/usr/bin/s3cmd --recursive --preserve sync /path/ s3://mybucket/path/
您可以使用相同的命令将其同步回来,只需反转从/到。
但是,您可能知道(如果您对 S3 成本优化进行了一些研究),根据具体情况,使用压缩文件可能更明智。它节省了空间,并且应该减少请求,因此您可以在月底节省一些钱。
此外,s3cmd 不是与 S3 同步的最快工具,因为它不像其他工具那样使用多线程(并且不打算使用),因此您可能需要寻找可以保留多线程所有权和利润的其他工具如果那仍然是您正在寻找的东西。要使用 s3cmd 加速数据传输,您可以使用不同的--exclude --include语句执行多个 s3cmd。
例如
/usr/bin/s3cmd --recursive --preserve --exclude="*" --include="a*" sync /path/ s3://mybucket/path/ & \
/usr/bin/s3cmd --recursive --preserve --exclude="*" --include="b*" sync /path/ s3://mybucket/path/ & \
/usr/bin/s3cmd --recursive --preserve --exclude="*" --include="c*" sync /path/ s3://mybucket/path/