rclone基础命令解析及实战

rclone命令解析及实战

在这里插入图片描述

1 rclone介绍:远程同步工具

rclone是一个开源的远程数据同步工具,由Golang编写,旨在在不同平台的文件系统和多种类型的对象存储产品之间提供数据同步功能。

  • 它支持超过 40 种不同的云存储服务,包括 Amazon S3, Google Drive, Dropbox, Microsoft OneDrive, Google Cloud Storage, Amazon Drive, OpenStack Swift, Backblaze B2, Yandex Disk, SFTP, WebDAV, FTP, SFTP, Minio, Wasabi, Alibaba OSS, SwiftStack, Tencent COS, Wasabi, Yandex.Disk, Yandex.Files等等。

业界经常用rclone+alist将网盘(百度网盘、阿里网盘等)挂载到本地

rclone 支持多种文件传输方式,包括复制,同步,移动,删除文件。它还支持文件加密和压缩,支持分块上传和分块下载,可以暂停和恢复传输,支持文件的校验和合并。

rclone 的主要优势在于它的灵活性和可扩展性。它可以用来做很多事情,包括备份,文件同步,数据迁移等。它可以在各种平台上运行,包括 Windows,macOS,Linux,FreeBSD,NetBSD 等。

rclone 的配置简单,可以使用命令行或者配置文件来配置。使用 rclone 可以非常方便的操作云存储,支持的命令也非常丰富,使用起来非常方便。

主要作用:

  1. 将文件备份(和加密)到云存储
  2. 从云存储还原(和解密)文件
  3. 将云数据镜像到其他云服务或本地
  4. 将数据迁移到云,或在云存储供应商之间迁移
  5. 将多个、加密、缓存或不同的云存储挂载为磁盘
  6. 使用 lsf、ljson、size、ncdu 分析和核算云存储上保存的数据
  7. 将文件系统合并在一起,将多个本地和/或云文件系统呈现为一个

2 安装与配置

  1. 下载rclone:https://downloads.rclone.org/rclone-current-linux-amd64.zip
  2. 解压并配置权限
unzip rclone-current-linux-amd64.zip
# 授权
cd rclone-v1.60.0-linux-amd64/
#这里目录名称可能不一样,注意cd进入的目录即可sudo cp rclone /usr/sbin/
sudo chown root:root /usr/sbin/rclone
sudo chmod 755 /usr/sbin/rclone
  1. 编写配置文件(也可以通过命令行来填写配置,但手动编写能更简洁明了,故此处演示手动编写)
mkdir -p /root/.config/rclone/
touch /root/.config/rclone/rclone.conf
vim /root/.config/rclone/rclone.conf
  1. 编写配置文件(此处演示配置AWS S3与SMB)
[s3_137]    # 配置名称,见名之意即可
type = s3    #服务类型,为S3类型的服务
provider = AWS    #供应商,我这里是AWS
env_auth = false
access_key_id = xxxx    #这里对应的是aws账号access_key_id
secret_access_key = xxxxxxx    #这里对应的是aws账号secret_access_key
region = ap-southeast-1    #地区,我的S3桶位于新加坡区域
endpoint = s3.ap-southeast-1.amazonaws.com     #endpoint,新加坡区域[s3_139] # 第二个挂载配置
type = s3
provider = Other
access_key_id = xxxxx
secret_access_key = xxxxx
endpoint = http://10.16.xx.xx:xxx
acl = private
bucket_acl = public-read-write

验证配置是否生效:
在这里插入图片描述

3 常用命令

3.1 rclone copy

将文件从源复制到目的地址,跳过已复制完成的

#rclone copy增量复制,不会删除目的端比源端多的文件 -P显示速度 源端配置名:桶名 目的端配置名:桶名
rclone copy -P s3_137:bucket01 s3:prod-public-rewards

3.2 rclone mount

挂载共享挂载到本地目录

  • 如果执行命令报错: “fusermount3”: executable file not found in $PATH

rclone高版本默认mount使用的是fuse3,如果本地没有则执行下面命令安装

yum install -y fuse3  # centos
sudo groupadd fuse
# 将smb_137挂载到本地/mnt/smb目录
rclone mount smb_137: /mnt/smb
# 因为rclone的mount是阻塞性的,所以推荐使用screen终端管理神器
# # CentOS:yum install screen
# Debian/Ubuntu:apt install screen
# screen -R test_rclone
# -R创建,如果之前有创建唯一一个同名的screen,则直接进入之前创建的screen
# Ctril+a,再按d,即可保持这个screen到后台并回到主终端
# exit退出当前虚拟终端
# screen -ls 查看当前已经存在的终端

3.3 rclone sync

将源数据同步到目的地址,只更新目的地址的数据(包括新增、删除文件)

rclone sync -P s3_test:bucket-local/test_ky smb_137:test/rclone

3.4 rclone move

将源数据移动到目的地址

rclone move -P  s3_test:bucket-local/test_ky/a.txt smb_137:test/rclone

Rclone delete
删除指定路径下的文件内容
rclone delete -P smb_137:test/rclone/a.txt

3.5 rclone purge

清空指定路径下所有文件数据

rclone purge -P smb_137:test/rclone/

3.6 rclone mkdir

创建一个新目录

# smb
rclone mkdir smb_137:test/rclone# S3不支持创建空目录,所以可以通过在创建空文件来创建空目录
rclone touch s3_test:bucket-local/test_dir1/empty_file

3.7 rclone rmdir

删除空目录

rclone rmdir smb_137:test/rclone

3.8 rclone ls

列出文件、文件大小及路径

rclone ls smb_137:test/rclone

3.9 rclone lsd

列出指定路径下所有的目录/容器/桶

rclone lsd s3_test:

3.10 rclone lsl

列出指定路径下所有文件及文件修改时间、文件大小和路径

rclone lsl smb_137:test/rclone

3.11 rclone md5sum

为指定路径下的所有文件产生一个md5sum

rclone md5sum s3_test:bucket-local/test_ky

3.12 rclone sha1sum

为指定路径下的所有文件产生一个sha1sum

rclone sha1sum s3_test:bucket-local/test_ky

3.13 rclone size

获取指定路径下,文件内容总个数及大小

rclone size s3_test:bucket-local/test_ky

3.14 其他

rclone config # 以会话方式添加rclone配置
rclone version # 查看rclone版本
rclone cleanup # 清空remote
rclone dedupe # 交互式查找重复文件,进行删除/重命名操作
rclone selfupdate # 升级rclone

4 实战

4.1 rclone挂载S3

vim /root/.config/rclone/rclone.conf

配置文件:

[s3_test]    # 配置名称,见名之意即可
type = s3    #服务类型,为S3类型的服务
provider = AWS    #供应商,我这里是AWS
env_auth = false
access_key_id = xxxxx    #这里对应的是aws账号access_key_id
secret_access_key = xxxxx    #这里对应的是aws账号secret_access_key
region = ap-southeast-1    #地区,我的S3桶位于新加坡区域
endpoint = s3.ap-southeast-1.amazonaws.com     #endpoint,新加坡区域
# 查看挂载点桶名:
rclone lsd s3_test: # 冒号一定不能省略

查看桶中文件及文件夹:

# 查看bucket-1桶中的文件及文件夹
rclone ls s3_test:bucket-1

4.2 rclone挂载smb

vim /root/.config/rclone/rclone.conf

配置文件:

[test_smb]
type = smb
host = 10.16.xx.xx
user = smb-test
pass = 6OtRQOZVo5bd62Z_WcYjvpAon6c4fA
domain = LOCAL

执行rclone mount挂载到本地

# 因为我用的rclone是最新版的1.65,所以默认mount使用的是fuse3
# 因此我需要先安装fuse3
yum install -y fuse3  # centos
sudo groupadd fuse
# 将smb_137挂载到本地/mnt/smb目录
rclone mount smb_137: /mnt/smb

因为rclone的mount是阻塞性的,所以推荐使用screen终端管理神器

# # CentOS:yum install screen
# Debian/Ubuntu:apt install screen
# screen -R test_rclone
# -R创建,如果之前有创建唯一一个同名的screen,则直接进入之前创建的screen
# Ctril+a,再按d,即可保持这个screen到后台并回到主终端
# exit退出当前虚拟终端
# screen -ls 查看当前已经存在的终端
# 通过命令挂载到本地
mkdir /mnt/share
sudo mount -t cifs //10.16.xx.xx/test /mnt/share -o username=smb-test,password=111111,vers=2.1,rw,mfsymlinks,domain=LOCAL
rclone ls /mnt/share
umount /mnt/share

4.3 两个挂载点之间的操作(S3与SMB)

以smb与s3为例。这里演示的是s3与smb,大家学会了之后就可以在aws的s3和自己网盘之间做备份转移等。也可以网盘与网盘之间做操作

vim /root/.config/rclone/rclone.conf
配置文件内容如下:[s3_test]
type = s3
provider = Other
access_key_id = xxxx
secret_access_key = xxxxxx
endpoint = http://10.16.xx.xx:xxx
acl = private
bucket_acl = public-read-write[smb_137]
type = smb
host = 10.16.xx.xx
user = smb-test
pass = 6OtRQOZVo5bd62Z_WcYjvpAon6c4fA
domain = LOCAL
①拷贝S3数据到SMB(rclone copy)
#rclone copy增量复制,不会删除目的端比源端多的文件 -P显示速度 源端配置名:桶名 目的端配置名:目录名
rclone copy -P s3_test:bucket-local/test_ky smb_137:test/
②移动SMB文件到S3(rclone move)
# 将smb test目录下的文件移动到S3rclone move -P smb_137:test/end_dir/dir1/a.txt s3_test:bucket-local/test_ky# 通过在s3上创建空文件的方式来创建空目录# rclone touch s3_test:bucket-local/test_dir1/empty_file 
③同步SMB与S3文件(rclone sync)
rclone sync -P s3_test:bucket-local/test smb_137:test/rclone

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/454552.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt环境搭建+简单程序实现

Qt是什么 Qt是一个跨平台的C图形用户界面应用程序框架。 框架的本质就是一群大佬发明的让菜鸡写出来的代码也也比较规范 也就是限制程序员的自由,让程序员写出来的代码规范。 库和框架有相似性。 库是被程序员调用的,(程序员是主体&…

【已解决】青龙面板依赖安装失败原因

青龙面板必须安装依赖,才可以执行脚本,这是不争的事实。 如果脚本跑不起来,就去看看依赖吧。 NodeJs 依赖如下 axios request canvas cheerio js-base64 dotenv magic tough-cookie ws7.4.3 require requests date-fns ts-md5 typescript j…

已解决error: subprocess-exited-with-error

已解决(pip安装第三方模块lxml模块报错)Building wheels for collected packages: lxml Building wheel for lxml (setup.py) … error error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. note: This error o…

Polar-Net:通过 OCTA(光学相干断层扫描血管成像)检测阿尔茨海默病

通过OCTA(光学相干断层扫描血管成像)检测阿尔茨海默病 主问题:如何通过OCTA图像有效地检测阿尔茨海默病?子问题1:如何在深度学习模型中模拟临床实践中常用的区域基础分析方法?子问题2:如何在网络…

【字符串】字典树

字典树就是利用一个这样的树状结构&#xff0c;可以记录字符串有没有出现过 放个板子 int nxt[100000][26], cnt; bool st[100000]; // 该结点结尾的字符串是否存在 void insert(string s, int l) // 插入字符串&#xff0c;l是字符串长度 { int p 0;for (int i 0; i < …

Sklearn、TensorFlow 与 Keras 机器学习实用指南第三版(九)

原文&#xff1a;Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 附录 A&#xff1a;机器学习项目清单 此清单可以指导您完成机器学习项目。有八个主要步骤&#xff1a; 构建问题并全局看问题。 …

sql求解连续两个以上的空座位

Q&#xff1a;查找电影院所有连续可用的座位。 返回按 seat_id 升序排序 的结果表。 测试用例的生成使得两个以上的座位连续可用。 结果表格式如下所示。 A:我们首先找出所有的空座位&#xff1a;1&#xff0c;3&#xff0c;4&#xff0c;5 按照seat_id排序&#xff08;上面已…

LeetCode、746. 使用最小花费爬楼梯【简单,动态规划 线性DP】

文章目录 前言LeetCode、746. 使用最小花费爬楼梯【简单&#xff0c;动态规划 线性DP】题目与分类思路 资料获取 前言 博主介绍&#xff1a;✌目前全网粉丝2W&#xff0c;csdn博客专家、Java领域优质创作者&#xff0c;博客之星、阿里云平台优质作者、专注于Java后端技术领域。…

手拉手Vue3+vite引入echarts

技术栈springboot3hutool-alloshi-coreVue3viteechartsTailwindCSS软件版本IDEAIntelliJ IDEA 2022.2.1JDK17Spring Boot3.1hutool-all5.8.18oshi-core6.4.1Vue35.0.10vite5.0.10axios1.6.7echarts5.4.3 ECharts是一个使用 JavaScript 实现的开源可视化库&#xff0c;可以流畅…

云计算运维1

1、企业服务器LNMP环境搭建 集群&#xff1a;多台服务器在一起作同样的事 。分布式 &#xff1a;多台服务器在一起作不同的事 。 环境准备&#xff1a; 1、设置静态ip&#xff08;NAT模式网关为.2&#xff09; # cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE"E…

Matplotlib 绘图实践:从基础到高级技巧【第62篇—python:Matplotlib绘图】

文章目录 Matplotlib绘图模块基础入门大全1. 安装Matplotlib2. 绘制基本图形3. 自定义图形样式4. 多子图布局5. 高级绘图技巧6. 绘制实时动态图7. 图形注释与标记8. 颜色映射与散点图9. 绘制直方图10. 绘制饼图11. 绘制热力图 总结 Matplotlib绘图模块基础入门大全 Matplotlib…

2024/2/4学习记录

微信小程序 网络数据请求 出于安全性方面的考虑&#xff0c;小程序官方对数据接口得请求做出了俩个限制 只能对 https 类型的接口必须将接口的域名添加到信任列表中 需要去这里设置 域名只支持 https 协议域名不能使用 ip 地址 或者localhost域名必须经过 ICP 备案 服务器域…