Rsync 到 AWS S3 存储桶

Rsync 到 AWS S3 存储桶

对于我托管网站的服务器,我想将数据和设置备份到 S3 存储桶。我发现您不能直接使用 rsync 备份到 S3 存储桶。还有其他方法可以实现以下 rsync 命令以将数据备份到 S3 存储桶吗?

rsync -­av ­/Data /s3bucket

我还想将该服务器上的 mysql 数据库备份到 S3 存储桶。实现此目的的最佳方法是什么?

最后一个问题,如果我设法将所有内容备份到 S3。如果服务器崩溃或在最坏的情况下完全被清除,恢复服务器的最佳方法是什么?我是否必须自己记下服务器设置并重新配置服务器,或者有没有办法备份它?

答案1

要与 s3 通信,你需要具备以下两个条件

  1. 对 S3 存储桶具有读写访问权限的 IAM 用户凭证。
  2. 类似于 bash 的 aws-cli 客户端、Python 的 boto 库等等。

一旦拥有了这两者,您就可以将任何文件从您的计算机传输到 s3,也可以将任何文件从 s3 传输到您的计算机。以下是 aws-cli 的示例。

同步文件夹中的所有文件

aws s3 sync source_folder  s3://your_bucket_name/destination_folder/

将一个文件复制到 s3

aws s3 cp source_file s3://your_bucket_name/destination_folder/

只需更换来源&目的地在命令中从 s3 下载任何文件。

欲了解更多信息,请关注AWS 文档

答案2

你可以试试克隆

设置 (文档):

rclone config

同步 (文档):

rclone sync /my/local/folder s3service:bucket-name

答案3

如果您对权限不感兴趣,aws-cli 非常适合同步到 S3。

请记住,它不保留文件可以拥有的许可信息或其他元数据。

文档中没有很好的建议,恢复时您会遇到意外情况。

同步您的音乐或照片收藏可能并不重要,但如果您使用它来备份您的系统,那么同步就至关重要。

还有另一个程序 s3cmd 可以保存这些数据并完成类似的工作。它的速度较慢。但我还没有尝试过。

有人告诉我,问题在于你会保持高成本,因为在 S3 中你不仅要为节省的每 MB 付费,还要为请求付费,而 rsync 会发出很多请求。

相关内容