如何备份到s3作为rsync

我想将我的服务器备份到s3,但是我不想每次都上传整个容器。

现在我用s3cmd put –recursive,但是上传了一切 ,我不想浪费空间和打电话。

我想要做的就是把所有的file upload到s3,然后用s3cmd把rsync放到文件上,只上传更新的文件。

  1. 我应该使用什么命令
  2. 我必须给予什么权限?

所有来自Vladimir Mukhin的答案都是有效的。 然而有一个工具可以帮助1 /它被称为Duplicity。 它将S3作为备份的目标,并执行增量备份。 http://duplicity.nongnu.org/duplicity.1.html

如果你发现Duplicity太复杂,Duply是一个更简单的angular度。

那么,你可以在这里使用几个解决scheme:

  1. 存储元数据的上传文件(MD5,时间戳等),并检查文件是否已被修改或启动上传之前。 没有特别的命令,你需要执行额外的脚本。
  2. 使用S3对象版本控制。 在这种情况下,Amazon将检查文件是否被修改,并将更改后的文件作为单独的版本上传。 更多信息,请访问: http : //docs.aws.amazon.com/AmazonS3/latest/UG/lifecycle-configuration-bucket-with-versioning.html
  3. 使用awscli( https://aws.amazon.com/cli/ )。 有了这个,你可以运行aws s3 sync ... ,只会上传更改。

rclone可能是你正在寻找的东西。