S3cmd - 在S3存储和本地目录之间同步文件

在过去的文章中,我们已经在Linux和Windows系统上安装s3cmd,了解它的工作。在这篇文章中,你可以找到如何创建桶与桶之间,上传/下载数据这篇文章将帮助你如何同步S3桶和本地目录之间的文件。 女将-S3-中心标志 之前启动同步文件,请确保您已安装s3cmd在您的系统,或使用下面的文章进行安装 如何在Linux上安装s3cmd和管理S3桶 如何在Windows中安装s3cmd和管理S3桶

1.从本地同步将文件=> S3桶

例如,我想我的同步本地目录/root/mydir/ 到S3桶目录S3://howtoing/mydir其中howtoing是桶名称。我已经创造了一些新的文 件/root/mydir/ 和同步使用以下命令S3桶。
# s3cmd sync /root/mydir/ s3://howtoing/mydir/ 

[Sample Output]

/root/mydir/index.php -> s3://howtoing/mydir/index.php  [1 of 2]
 397 of 397   100% in    0s     4.02 kB/s  done
/root/mydir/readme.html -> s3://howtoing/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://howtoing/mydir/
如果我们要同步源使用 –skip-existing 参数仅新创建的文件。它会跳过已经存在的目的地或者其修改源的所有文件。
# s3cmd sync /root/mydir/ --skip-existing s3://howtoing/mydir/
如果你想删除从S3桶已经从本地使用 -delete-removed 参数删除所有文件。
# s3cmd sync /root/mydir/ --delete-removed s3://howtoing/mydir/

2.从S3桶同步文件=>本地目录

在这个例子中,我再次使用上面使用相同的文件夹和桶。为了验证这一点,我已经把在S3存储桶(S3://howtoing/mydir/)一些额外的文件,并执行以下命令同步到本地目录中的所有文件。
# s3cmd sync s3://howtoing/mydir/ /root/mydir/

[Sample Output]
s3://howtoing/mydir/logo.jpg -> /root/mydir/logo.jpg  [2 of 3]
 7219 of 7219   100% in    0s   125.28 kB/s  done
s3://howtoing/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://howtoing/mydir/ --preserve  /root/mydir/
# s3cmd sync s3://howtoing/mydir/ --skip-existing /root/mydir/
# s3cmd sync s3://howtoing/mydir/ --delete-removed /root/mydir/
了解更多关于s3cmd同步http://s3tools.org/s3cmd-sync

分享按钮