在过去的文章中,我们已经在Linux和Windows系统上安装s3cmd,了解它的工作。在这篇文章中,你可以找到如何创建桶与桶之间,上传/下载数据这篇文章将帮助你如何同步S3桶和本地目录之间的文件。
之前启动同步文件,请确保您已安装s3cmd在您的系统,或使用下面的文章进行安装
如何在Linux上安装s3cmd和管理S3桶
如何在Windows中安装s3cmd和管理S3桶
1.从本地同步将文件=> S3桶
例如,我想我的同步本地目录
/root/mydir/
到S3桶目录
S3://youcl/mydir/ 其中
youcl是桶名称。我已经创造了一些新的文 件
/root/mydir/ 和同步使用以下命令S3桶。
# s3cmd sync /root/mydir/ s3://youcl/mydir/
[Sample Output]
/root/mydir/index.php -> s3://youcl/mydir/index.php [1 of 2]
397 of 397 100% in 0s 4.02 kB/s done
/root/mydir/readme.html -> s3://youcl/mydir/readme.html [2 of 2]
9202 of 9202 100% in 0s 103.62 kB/s done
Done. Uploaded 9599 bytes in 0.3 seconds, 27.92 kB/s
注意:不要忘了添加具有完整的目录路径指定S3存储桶时,尾随本地目录路径斜杠(/)。 为了保持保留文件属性,如日期/时间等使用
-p 或
-preserve 参数,如下图所示
# s3cmd sync /root/mydir/ --preserve s3://youcl/mydir/
如果我们要同步源使用
–skip-existing 参数仅新创建的文件。它会跳过已经存在的目的地或者其修改源的所有文件。
# s3cmd sync /root/mydir/ --skip-existing s3://youcl/mydir/
如果你想删除从S3桶已经从本地使用 -
delete-removed 参数删除所有文件。
# s3cmd sync /root/mydir/ --delete-removed s3://youcl/mydir/
2.从S3桶同步文件=>本地目录
在这个例子中,我再次使用上面使用相同的文件夹和桶。为了验证这一点,我已经把在S3存储桶(S3://youcl/mydir/)一些额外的文件,并执行以下命令同步到本地目录中的所有文件。
# s3cmd sync s3://youcl/mydir/ /root/mydir/
[Sample Output]
s3://youcl/mydir/logo.jpg -> /root/mydir/logo.jpg [2 of 3]
7219 of 7219 100% in 0s 125.28 kB/s done
s3://youcl/mydir/user.php -> /root/mydir/user.php [3 of 3]
40380 of 40380 100% in 0s 596.33 kB/s done
Done. Downloaded 47599 bytes in 0.3 seconds, 184.40 kB/s
我们也可以为以下从S3桶文件同步到本地目录中使用
-preserve,–skip-existing 和 -delete-removed参数。
# s3cmd sync s3://youcl/mydir/ --preserve /root/mydir/
# s3cmd sync s3://youcl/mydir/ --skip-existing /root/mydir/
# s3cmd sync s3://youcl/mydir/ --delete-removed /root/mydir/
了解更多关于s3cmd同步
http://s3tools.org/s3cmd-sync