S3 数据备份和恢复
这里讲的是 Simple Storage Service,但不一定是Amazon提供的。
比如兼容 S3 API 的存储组件,Ceph, MinIO 等。
但在用这几种组件的时候 总会遇到个问题,数据怎么迁移?
对于整个Bucket进行迁移
aws官方的客户端用了几次,但还是那个问题,仅对 Amazon 自己比较舒服,但假设用了别的兼容API,就很复杂。
所以 万能的 MinIO 客户端 来拯救 S3。
设置 alias
mc alias set myminio/ http://MINIO-SERVER MYUSER MYPASSWORD
cp
mc cp --recursive myminio/mybucket target/
Tips
当然这种备份和恢复显然都不是最好的。
因为上传时间会被改变。(后续会想想办法解决)
对于个人文件存储到 S3 上
可以借助 Restic 来完成这些操作。
当然也可以用 Cloudreve 这种强大的 GUI 工具来做作管理。
不过 为了轻量化 和一些比较特殊的操作 这次介绍 Restic。
(其实很类似于 Git)
设置 S3 服务
export AWS_ACCESS_KEY_ID=<YOUR-MINIO-ACCESS-KEY-ID>
export AWS_SECRET_ACCESS_KEY=<YOUR-MINIO-SECRET-ACCESS-KEY>
初始化 repository
restic -r s3:http://localhost:9000/restic init
backup & restore
!!以下内容未严格测试
# backup
restic -r s3:http://localhost:9000/restic --verbose backup ~/work
# restore
restic -r s3:http://localhost:9000/restic restore 79766175 --target /tmp/restore-work
Comparing Snapshots
!!以下内容未严格测试
restic -r s3:http://localhost:9000/restic /srv/restic-repo diff 5845b002 2ab627a6