Rclone对象存储迁移

安装Rclone

下载安装包

https://github.com/rclone/rclone/releases/download/v1.69.2/rclone-v1.69.2-linux-386.zip

解压安装包并移动到/usr/local/bin目录

unzip rclone-v1.69.2-linux-386.zip
cp rclone-v1.69.2-linux-386/rclone /usr/local/bin/
chmod +x /usr/local/bin/rclone

查看rclone版本

rclone version
rclone v1.69.2
- os/version: bigcloud 22.10 (64 bit)
- os/kernel: 5.10.0-60.70.0.94.oe2203.bclinux.x86_64 (x86_64)
- os/type: linux
- os/arch: 386
- go/version: go1.24.2
- go/linking: static
- go/tags: none

对象存储到对象存储迁移

创建rclone配置文件

cat >  ~/.config/rclone/rclone.conf << EOF
[minio01]
type = s3
provider = Minio
access_key_id = 5J4TIMyCQmycUCGKfhFq
secret_access_key = WDJbyDfOXiugeodBf8YCV836Gz12IbQsJ0v1TOYA
endpoint = http://192.168.91.138:9000

[minio02]
type = s3
provider = Minio
access_key_id = f3Onf6KIPINerGLzHIwU
secret_access_key = sVmSSMssWWl3AJSnHgmdymo9Y98jn9BrSaJSeaYR
endpoint = http://192.168.91.139:9000
EOF

语法说明

rclone copy minio01:bucket1 minio02:bucket2

执行迁移数据

# 迁移测试
rclone copy minio01:bucket1 minio02:bucket2 --transfers=8 --progress --dry-run
# 实际迁移
rclone copy minio01:bucket1 minio02:bucket2 --transfers=8 --progress

本地到对象存储迁移

语法说明

rclone sync /path/to/local/dir minio01:bucket1

创建测试数据

mkdir /tmp/test
for i in {1..100}; do
size=$((800000 + RANDOM % 400000)) # 生成800KB-1200KB的随机大小
dd if=/dev/urandom of=/tmp/test/file_${i}.dat bs=1 count=${size} status=none
done

执行迁移数据

rclone sync /tmp/test minio01:minio01 --progress --dry-run
rclone sync /tmp/test minio01:minio01 --progress
文章作者: 慕容峻才
文章链接: https://www.acaiblog.top/Rclone对象存储迁移/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 阿才的博客
微信打赏
支付宝打赏