一、准备工作
工具
rclone:开源的对象存储在线迁移工具,用于文件和目录的同步,支持阿里云的oss、minio 、亚马逊S3 等。
注意事项
#centos 7设置时区
timedatectl set-timezone Asia/Shanghai
#时间同步
ntpdate ntp.aliyun.com
二、部署过程
工具安装
curl https://rclone.org/install.sh | sudo bash
由于是外网地址,下载安装很麻烦,这里提供下载二进制包
下载地址
下载:https://yepk.lanzous.com/ikHOKlua7ra 密码:minio
rclone 运行文件放在
/usr/bin
目录下
生成配置文件
rclone config
#按照提示一步步,输入相应配置,即可。生成的文件位于:/root/.config/rclone目录下。
注:熟练的话,一般可以直接手动创建此文件,放在指定目录就可以了。我工作中一般手动编辑创建此文件。
手动创建配置文件
[source] #声明 自定义名字1
type = s3 # 类型
provider = Minio
env_auth = false
access_key_id = access_key_id # Minio的key
secret_access_key = secret_access_key # minio的secret_access_key
region = cn-east-1 # 时区默认这个
endpoint = 地址 例:http://192.168.0.11:9000
location_constraint =
server_side_encryption =
[target] #声明 自定义名字2 不能重复
type = s3
provider = Minio
env_auth = false
access_key_id = access_key_id
secret_access_key = secret_access_key
region = cn-east-1
endpoint = 地址 例:http://192.168.0.11:9000
location_constraint =
server_side_encryption =
配置文件位于:${HOME}/.config/rclone/
目录下。
开始迁移
sudo rclone -P sync source:bucket_name/dir_name/ target:bucket_name/dir_name/
# 格式 rclone -P sync(同步) source(自定义名字1):bucket_name(桶名)/dir_name(文件夹或文件名)/ target(自定义名字2):bucket_name/dir_name/
Rclone命令
常用命令
文件上传
rclone copy /home/backup gdrive:backup # 本地路径 配置名字:谷歌文件夹名字
文件下载
rclone copy gdrive:backup /home/backup
列表
rclone ls gdrive:backup
rclone lsl gdrive:backup # 比上面多一个显示上传时间
rclone lsd gdrive:backup # 只显示文件夹
新建文件夹
rclone mkdir gdrive:backup
挂载
rclone mount gdrive:mm /root/mm &
rclone mount gdrive:mm /root/mm --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000 &
卸载
fusermount -qzu /root/mm
其他命令
# https://softlns.github.io/2016/11/28/rclone-guide/
rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。 –dry-run标志来检查要复制、删除的数据
rclone move - 将源数据移动到目的地址。
rclone delete - 删除指定路径下的文件内容。
rclone purge - 清空指定路径下所有文件数据。
rclone mkdir - 创建一个新目录。
rclone rmdir - 删除空目录。
rclone check - 检查源和目的地址数据是否匹配。
rclone ls - 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd - 列出指定路径下所有的目录/容器/桶。
rclone lsl - 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum - 为指定路径下的所有文件产生一个md5sum文件。
rclone sha1sum - 为指定路径下的所有文件产生一个sha1sum文件。
rclone size - 获取指定路径下,文件内容的总大小。.
rclone version - 查看当前版本。
rclone cleanup - 清空remote。
rclone dedupe - 交互式查找重复文件,进行删除/重命名操作。
--transfers 1 #限制线程
--min-size 10G #大小限制
-P #显示进度
官方网站: https://rclone.org/flags/