rclone实现数据迁移、备份还原

目录

一、安装

官方下载地址:https://rclone.org/downloads/

ruby 复制代码
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip --no-check-certificate
unzip rclone-current-linux-amd64.zip
cd rclone-v1.68.0-linux-amd64/
cp rclone /usr/bin/

二、配置

ruby 复制代码
mkdir -p ~/.config/rclone
vim /root/.config/rclone/rclone.conf
 
[st]
type = s3
provider = Minio
env_auth = false
access_key_id = admin
secret_access_key = xxxxxxxx
region = cn-east-1
endpoint = http://st.minio.dev2:9000
 
[test]
type = s3
provider = Minio
env_auth = false
access_key_id = admin
secret_access_key = xxxxxxxx
region = cn-east-2
endpoint = http://192.168.180.37:39080

三、备份还原(sync可实现bucket删除了,本地备份也删除)

1、备份

copy和sync命令均可以用于迁移,区别:

  • copy:增量复制,只复制目的端缺少的。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次copy,目的端对应的文件a.txt仍然存在;
  • sync:同步,会将目的端同步为源端的情况,会删除目的端中源端没有的文件。例如两端数据一样后,源端删除了某个文件a.txt,再执行一次sync,目的端对应的文件a.txt也会被删掉。

sync

rclone sync有两个常用的选项,建议带上 --dry-run 命令来确认自己的配置没有问题:

-P 显示详细同步进度条

--dry-run 用作命令测试,不会真正的执行同步

指定-P命令后的进度输出如下,可以看到实时网速和文件数量/大小。

1、备份整个minio

ruby 复制代码
# 文件夹不存在会自动创建
[root@test2 miniobaktest]#  rclone sync -P --transfers 2 --checkers 4 test:/ /root/miniobaktest/data_$(date +%Y%m%d)/
Transferred:      578.703 KiB / 578.703 KiB, 100%, 0 B/s, ETA -
Transferred:            8 / 8, 100%
Elapsed time:         0.0s

2、备份其中一个bucket

ruby 复制代码
# 文件夹不存在会自动创建
[root@test2 miniobaktest]# rclone sync -P test:/bucket2 /root/miniobaktest/backup/data_$(date +%Y%m%d)/bucket2

copy

ruby 复制代码
# 同步test:bucket1目录下,文件夹为var的全部文件
rclone copy -P test:bucket1  /root/miniobaktest/backup/data_$(date +%Y%m%d)/bucket1 --include "/{var}/**" --checkers=8 --buffer-size=200M  --transfers=16

2、还原

ruby 复制代码
[root@test2 miniobaktest]# rclone sync -P /root/miniobaktest/backup/data_$(date +%Y%m%d)/  test:/
Transferred:      578.703 KiB / 578.703 KiB, 100%, 0 B/s, ETA -
Transferred:            8 / 8, 100%
Elapsed time:         0.0s

四、常用命令

常用命令:https://rclone.org/commands/

相关推荐
分布式存储与RustFS3 天前
RustFS S3 Table 开源后,我重新梳理了一下 Iceberg 数据湖的选型思路
人工智能·开源·minio·dpu·rustfs·ai存储·s3 table
sg_knight16 天前
负载均衡配置:使用 Nginx 反向代理 MinIO 集群的实战教程
运维·nginx·负载均衡·文件管理·minio·cos·oss
遇见火星1 个月前
MinIO使用笔记
笔记·minio
分布式存储与RustFS2 个月前
Helm在Kubernetes上部署RustFS生产环境指南
分布式·零基础·picgo·对象存储·minio·rustfs
johnny2332 个月前
MinIO分片上传完整实现
minio
sg_knight2 个月前
MinIO 进阶:文件下载、批量获取与打包压缩全攻略
文件管理·minio·ftp·cos·oss·文件服务器
分布式存储与RustFS2 个月前
MinIO迎来“恶龙”?RustFS这款开源存储简直“不讲武德”
架构·rust·开源·对象存储·minio·企业存储·rustfs
sg_knight2 个月前
如何实现“秒传”与“断点续传”?MinIO + Java 实战进阶篇
java·开发语言·文件管理·minio·ftp·oss·文件传输
分布式存储与RustFS2 个月前
AI 数据湖最佳实践:RustFS 支撑大模型训练的存储架构与性能优化
人工智能·性能优化·架构·对象存储·minio·企业存储·rustfs
分布式存储与RustFS2 个月前
Windows原生版RustFS:无需Docker,1分钟本地对象存储环境搭建
windows·docker·容器·对象存储·minio·企业存储·rustfs