一 、什么是rclone?
rclone是一个命令行程序,全称:rsync for cloud storage。是用于将文件和目录同步到云存储提供商的工具。因其支持多种云存储服务的备份,如Google Drive、Amazon S3、Dropbox、Backblaze B2、One Drive、Swift、Wasabi、Google Cloud Storage、Azure Blob、Azure Files、NAS、对象存储(OOS/S3)等,所以常常称rclone为云存储备份的瑞士军刀。因其备份的特性,现在很多迁移厂商也用其来做存储数据迁移的场景。
二、功能
Rclone支持但不仅限于下面列出功能:
①将文件备份(和加密)到云存储
②从云存储恢复(和解密)文件
③将数据迁移到云端,或在云存储供应商之间迁移
④将多个、加密、缓存或多样化的云存储挂载为磁盘
更详细功能可查看官网:
三、程序特性
①接送服务
-
始终检查 MD5、SHA1 哈希值以确保文件完整性
-
时间戳保留在文件中
-
可以随时重新启动操作
-
可以进出网络,例如两个不同的云提供商
-
可以使用多线程下载到本地磁盘
②将新文件或更改的文件复制到云存储
③同步(一种方式)使目录相同
④验证后将文件移动到云存储删除本地
⑤检查哈希和丢失/额外的文件
⑥将您的云存储挂载为网络磁盘
⑦通过HTTP / WebDav / FTP / SFTP / DLNA服务本地或远程文件
⑧实验性基于 Web 的 GUI
四、具体支持的云存储厂商
五、rclone下载及安装
下载链接:https://rclone.org/downloads/
安装链接:https://rclone.org/install/
本次操作使用"linux预编译二进制文件"安装,步骤如下:
获取和解压缩
properties
curl -O https://downloads.rclone.org/v1.68.2/rclone-v1.68.2-linux-amd64.zip
unzip rclone-v1.68.2-linux-amd64.zip
cd rclone-v1.68.2-linux-amd64
复制二进制文件
properties
sudo cp rclone /usr/bin/
sudo chown root:root /usr/bin/rclone
sudo chmod 755 /usr/bin/rclone
安装 manpage
perl
sudo mkdir -p /usr/local/share/man/man1
sudo cp rclone.1 /usr/local/share/man/man1/
sudo mandb
运行以设置
nginx
rclone config
六、rclone备份操作
例1、如我要不linux的文件备份到nas云存储文件
我挂载的路径如下:
nginx
mount -t nfs -o vers=3,timeo=600,noresvport,nolock,tcp sfs-nas01.cn-fcscmsk1a.cmsk-cloud.com:/share-0920b451 /mnt/Lihx
执行如下命令进行备份我linux指定目录的文件:
nginx
rclone copy /home /mnt/Lihx -P --transfers 32 --checkers 64 --links --create-empty-src-dirs
说明:
参数说明如下,transfers和checkers数目可以根据系统规格自行配置:
--transfers:传输文件的并发数目。
--checkers:扫描本地文件的并发数目。
--P:数据拷贝进度。
--links:复制源端的软链接,目的端保持为软链接的形式。
--copy-links:复制源端软链接指向的文件内容,目的端变成文件的形式,不再是软链接。
--create-empty-src-dirs:复制源端的空目录到目的端。
例2、迁移对象存储
①创建new remote,自定义的名称
②选择存储类型,对象存储选S3,而其他根据具体情况选择。
③选择厂商的对象存储类型,什么亚马逊、阿里、华为、IBM,常见的都在其中
④剩下配置:
env_auth = false # 不通过环境变量配置认证
access_key_id = AKxxxxxxxx # 云后台生成的密钥key
secret_access_key = Secretxxxxxxx # 云后台生成的密钥secret
endpoint = cos.ap-chengdu.myqcloud.com # 云存储所在的地区,看你所在存储桶的公网地址
⑤具体备份指令格式
使用rclone sync命令将本地文件同步到云存储:
rclone sync /path/to/local/folder <remote_name>:remote/folder
使用rclone copy命令将云存储中的文件复制到本地:
rclone copy <remote_name>:remote/folder /path/to/local/folder
七、常用指令表
|-------------|---------------------|
| 命令 | 说明 |
| rclone copy | 复制文件 |
| rclone move | 移动文件 |
| rclone sync | 同步源目目录数据 |
| rclone ls | 列出指定路径下的所有的文件以及文件信息 |
| rclone lsl | 比ls多显示上传时间 |
| rclone lsd | 列出指定路径下的目录 |
| rclone lsf | 列出指定路径下的目录和文件 |
| rclone size | 查看云存储文件占用大小 |
八、常用参 数表
|-----------------------|-------------------------------------------------------|
| 命令 | 说明 |
| -n = --dry-run | 测试运行,查看 rclone 在实际运行中会进行哪些操作 |
| -P = --progress | 显示实时传输进度,500 ms刷新一次,否则默认1分钟刷新一次 |
| --cache-chunk-size 5M | 块的大小,默认 5M 越大上传越快,占用内存越多,太大可能会导致进程中断 |
| --transfers=N | 并行文件数,默认为4。在比较小的内存的VPS上建议调小这个参数,比如 128M 的小机上使用建议设置为1。 |
| --checkers | 扫描本地文件的并发数目。 |
| --links | 复制源端的软链接,目的端保持为软链接的形式。 |
注:更详细的指令和参数表,可查看官网
不想错过文章内容?读完请点一下**"在看****** " ,加个**"** 关注",您的支持是我创作的动力
期待您的一键三连支持(点赞、在看、分享~)