rclone基础命令解析及实战

news2024/11/20 11:24:36

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目录下的文件移动到S3
 rclone 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.coloradmin.cn/o/1434583.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【代码随想录23】39.组合总和 40.组合总和II 131.分割回文串

目录 39.组合总和题目描述参考代码 40.组合总和II题目描述参考代码 131.分割回文串题目描述参考代码 39.组合总和 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 …

RCS系统之:实时获取机器人的摄像头信息

如何获取摄像头信息呢? 一般人都会想到使用比较流行的RSTP,SMTP或者WebRTC等技术。虽然这些技术比较成熟,使用起来也方便,如果只是一个机器人还好,但是十几上百台机器人的时候,那么将会使内网的数据流量造成非常大的压…

Golang 学习(一)基础知识

面向对象 Golang 也支持面向对象编程(OOP),但是和传统的面向对象编程有区别,并不是纯粹的面向对象语言。 Golang 没有类(class),Go 语言的结构体(struct)和其它编程语言的类(class)有同等的地位,Golang 是基于 struct 来实现 OOP…

源码梳理(3)MybatisPlus启动流程

文章目录 1,MybatisPlus的使用示例2,BaseMapper方法的执行2,1 MybatisMapperProxy代理对象2.2 InvocationHandler接口(JDK动态代理)2.3 MapperMethodInvoker接口2.4 MybatisMapperMethod 3,SqlSession的执行流程3.1 Sq…

AUTOSAR内存篇 -EEPROM Abstraction(EA)

文章目录 功能介绍一般行为寻址机制和分段地址计算擦/写次数限制“立即” 数据的处理管理块一致性信息总结本文介绍关于EEPROM Abstraction相关的内容。下图所示为内存硬件抽象层的模块架构图。 EEPROM抽象(EA)从器件特定的寻址方案和分段中抽象出来,并为上层提供虚拟寻址方…

100000行级别数据的 Excel 导入优化之路

项目中有一个 Excel 导入的需求:缴费记录导入 由实施 / 用户 将别的系统的数据填入我们系统中的 Excel 模板,应用将文件内容读取、校对、转换之后产生欠费数据、票据、票据详情并存储到数据库中。 在接手之前可能由于之前导入的数据量并不多没有对效率…

冀蒙辽三地共同推进北斗卫星导航定位基准站资源共享

冀蒙辽三地共同推进北斗卫星导航定位基准站资源共享 近期,冀蒙辽三地共同举办了“北斗卫星导航定位基准站资源共享推进会”,旨在推动北斗卫星导航定位系统的规模化应用,加强区域北斗卫星导航定位基准站网络的协同服务能力,为经济…

QT 槽函数的五种写法

前三种写法: 方法五:

clr的执行模型-笔记

学习来源:《CLR via C by Jeffrey Richter 》第四版,第1章 clr的执行模型 1.C#编译生成执行程序集文件 编译文件的组成:pe32/pe32头,clr头,元数据,IL pe32/pe32头:windows标准执行文件头 cl…

FPGA平台以太网学习:涉及1G/2.5G Ethernet 和Tri Mode Ethernet MAC两个IP核的学习记录(二)——IP学习使用

文章目录 一、传输速率二、网口标准选择三、核功能选择四、共享逻辑五、总结(重点) 学习不能稀里糊涂,要学会多思考,发散式学习以及总结: FPGA作为一种器件,只是实现目的的一种方法,过度追求实现…

第二十四回 王婆计啜西门庆 淫妇药鸩武大郎-Numpy索引和切片操作示例

郓哥被王婆打了,就去找武大郎。将情况一说,两人商定去抓奸。一天武大郎只做了两三扇炊饼,约好了时间,郓哥进去顶住大门不让王婆关,武大郎直接跑进去,西门庆刚开始躲到床底下,后被潘金莲提醒&…

Uibot (RPA设计软件)智能识别信息+微信群发助手(升级版)———课后练习1

微信群发助手机器人的小项目友友们可以参考小北的课前材料二博客~ (本博客中会有部分课程ppt截屏,如有侵权请及请及时与小北我取得联系~) 紧接着小北的前两篇博客,友友们我们即将开展新课的学习~RPA 培训前期准备指南——安装Uibot(RPA设计软件&#x…

微信小程序(三十五)双向绑定警告去除方法

该警告的出现原因是开发者工具自身的不足&#xff0c;但在调试过程中容易刷屏&#xff0c;这里讲一下解决方法 1. 在双向绑定后面绑定一个空函数&#xff08;bind:input"emptyfn"&#xff09; <input type"text" model:value"{{keyword}}" b…

物业公司数字档案室建设要求

物业公司数字档案室建设的要求可以包括以下几个方面&#xff1a; 1. 硬件设备&#xff1a;需要配置足够的计算机、服务器、网络设备等硬件设备&#xff0c;以支持档案的数字化存储和管理。 2. 软件系统&#xff1a;需要选择专久智能档案管理软件系统&#xff0c;确保可以方便地…

基于微信小程序的校园水电费管理小程序的研究与实现

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

不关电脑因为懒?你们不懂程序员!

笔者作为一只老程序猿&#xff0c;确实没有关电脑的习惯。有人说不关电脑因为懒&#xff0c;那只能说这个想法too young~ 这个问题的答案可能因人而异&#xff0c;但一般来说&#xff0c;程序员不喜欢关电脑的原因可能包括以下几个方面&#xff1a; 工作需要&#xff1a;对于…

用握力器玩谷歌小恐龙游戏(三)

往期回顾 用握力器玩谷歌小恐龙游戏&#xff08;一&#xff09; 用握力器玩谷歌小恐龙游戏&#xff08;二&#xff09; GS-GAME-PC 前言 这次更新主要是&#xff0c;将原来的使用Wifi Mesh串口接收上位机的方法&#xff0c;改成了蓝牙直连电脑的方式&#xff0c;这种方式的…

Google Chrome Close AutoUpdate

DOMException: play() failed because the user didn‘t interact with the document first.-CSDN博客 html5 audio video-CSDN博客 Google Chrome Close AutoUpdate 关闭google浏览器自动更新 1&#xff1a;检查是否已安装google浏览器&#xff0c;并卸载&#xff1a; 2&…

【JS】基于node-media-server搭建流媒体服务器示例

&#x1f60f;★,:.☆(&#xffe3;▽&#xffe3;)/$:.★ &#x1f60f; 这篇文章主要介绍基于node-media-server搭建流媒体服务器示例。 学其所用&#xff0c;用其所学。——梁启超 欢迎来到我的博客&#xff0c;一起学习&#xff0c;共同进步。 喜欢的朋友可以关注一下&…

【Shell的运行原理以及Linux当中的权限问题】

Shell的运行原理以及Linux当中的权限问题 Shell的运行原理Linux当中的权限问题Linux权限的概念如何实现用户账号之间的切换如何仅提升当前指令的权限如何将普通用户添加到信任列表 Linux权限管理文件访问者的分类 (人)文件类型和访问权限 (事物属性)文件权限值的表示方法文件访…