1 概述
rclone是一款文件复制工具,既可以用于在linux主机之间复制文件,也可以在对象存储之间复制文件。
rclone的官网为:
https://rclone.org
rlcone关于对象存储的官方文档为:
https://rclone.org/s3
2 安装
2.1 yum安装
yum -y install rclone
2.2 二进制安装
curl -O https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
cd rclone-*-linux-amd64
cp rclone /usr/bin/
chown root:root /usr/bin/rclone
chmod 755 /usr/bin/rclone
3 配置
创建rclone的配置文件
mkdir -p $HOME/.config/rclone
touch $HOME/.config/rclone/rclone.conf
依据实际情况,输入以下内容:
[myminio]
type = s3
provider = Minio
env_auth = false
access_key_id = admin
secret_access_key = admin@2024
endpoint = http://127.0.0.1:9090
[myobs]
type = s3
provider = Other
env_auth = false
access_key_id = xxxxxxxxxxxxxx你的ak
secret_access_key = xxxxxxxxxxxxxxxxxx你的sk
region = cn-north-9
endpoint = obs.cn-north-9.myhuaweicloud.com
4 迁移对象存储的数据
目标端桶名为:ceshi12345678
源端桶名为demo,执行以下命令进行文件复制:
# rclone sync会删除目标端多余的文件,让源端桶和目标桶完全保持一致。
# clone copy --update只会复制那些位于源端但不存在于目标端的文件,不会在目标端删除文件,一般情景下推荐此命令。
rclone copy --update myminio:demo myobs:ceshi12345678 --progress
接着在源端桶中新上传一个文件java_error_in_GOLAND_11842.log
再次执行clone copy --update命令,会发现本次只传输了一个文件到目标桶中,正是这次新增的文件。
5 小结
rclone是一个文件复制的神器,本文介绍了如何在配置文件中设置源端和目标端的对象存储信息,并使用rclone copy命令进行数据的全量和增量的迁移。