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目录下的文件移动到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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

常用Hallmark及KEGG、GO基因查询

文献:The Molecular Signatures Database (MSigDB) hallmark gene set collection - PMC (nih.gov) GSEA | MSigDB | Browse Human Gene Sets (gsea-msigdb.org)通过msigdb数据库可以查看各个Hallmark、KEGG、GO具体包含的基因细节。 Hallmark nameProcess categor…

C# Socket通信从入门到精通(21)——Tcp客户端判断与服务器断开连接的三种方法以及C#代码实现

前言 我们开发的tcp客户端程序在连接服务器以后,经常会遇到服务器已经关闭但是作为客户端的我们不知道,这时候应该应该有一个机制我们可以实时监测客户端和服务器已经断开连接,如果已经断开了连接,我们应该及时报警提示用户客户端和服务器已经断开连接,本文介绍三种可以监…

DAY12之滑动窗口最大值

今天内容有点超乎我的能力 直接放卡哥的讲解了 239. 滑动窗口最大值 - 力扣&#xff08;LeetCode&#xff09; 先看超时的暴力解法 class Solution { public:vector<int> maxSlidingWindow(vector<int>& nums, int k) { vector<int>result; for(int …

新手养猫怎么挑选宠物空气净化器?猫用空气净化器测评推荐!

对于养猫的朋友来说&#xff0c;猫咪掉毛绝对是一个令人头痛的问题。猫毛和皮屑在室内飘散&#xff0c;不仅遍布各个角落&#xff0c;而且清理起来也相当费劲。尤其是那些顽固的猫毛&#xff0c;更是令人烦恼。更糟糕的是&#xff0c;这些毛发可能引起人体过敏反应&#xff0c;…

6.s081 学习实验记录(五)traps

文章目录 一、RISC-V assembly简介问题 二、Backtrace简介注意实验代码实验结果 三、Alarm简介注意实验代码实验结果 一、RISC-V assembly 简介 git checkout traps&#xff0c;切换到traps分支user/call.c 文件在我们输入 make fs.img 之后会被汇编为 call.asm 文件&#xf…

libev-ev_timer定时器的理解

1.相关说明 本文主要自己对于libev的ev_timer定时器的代码流程梳理&#xff0c;主要有ev_timer结构体定义变量的初始化&#xff0c;定时器变量的参数设置&#xff0c;定时器变量的使用 2.相关代码流程 下面是图片 3.相关实现代码 main.c #include <stdio.h> #include…

流浪动物救助|基于Springboot的流浪动物救助平台设计与实现(源码+数据库+文档)

流浪动物救助平台目录 目录 基于Springboot的流浪动物救助平台设计与实现 一、前言 二、系统功能设计 三、系统实现 1、用户信息管理 2、动物信息管理 3、商品评论管理 4、公告信息管理 四、数据库设计 1、实体ER图 五、核心代码 六、论文参考 七、最新计算机毕设…

使用html2canvas截图踩坑总结

年底的移动端H5需求中&#xff0c;再次用到了html2canvas这个插件&#xff0c;这个插件主要是用来对网页进行截图&#xff0c;在项目需求中&#xff0c;有个交互的点&#xff0c;就是通过用户操作&#xff0c;将页面的内容截图保存下来&#xff0c;方便用户传播扩散。 H5说明&…

【初读论文】

这里写目录标题 万字长文解析深度学习中的术语面向小白的深度学习论文术语&#xff08;持续更新&#xff09;deepsolo不懂的知识pipelinebaselineRoI(Region of Interest)分类问题中的正例负例指示函数&#xff08;indicator function&#xff09;模型性能评估指标&#xff08;…

nginx+flask+Gunicorn反代理服务拿不到真实IP的解决

背景 本人在宝塔linux环境,要部署flask的简单后端并且用Ngnix反代理,用Gunicorn框架部署。(o(╥﹏╥)o中间磕磕绊绊总算部署上去了,需要了解Gunicorn怎么部署的朋友,评论区留言,我加补一篇介绍)。但是但是,我发现 其 accesslog日志里竟然是 127.0.0.1。这怎么能…

模拟钉钉官网动画

实现思路&#xff1a;利用粘性定位sticky&#xff0c;以及滚动事件实现。首先我们应该设置滚动动画开始位置和结束位置 &#xff0c;然后根据位置计算透明度或者transform&#xff0c;scale的值。 首先根据上述图线计算属性值&#xff0c;代码如下&#xff1a; function creat…

Python基础知识:Python模块

所谓模块(Module)&#xff0c;就是一种以“.py”为命名后缀的Python 文件&#xff0c;里面包含着很多集成的函数&#xff0c;可以很方便的被其他程序和脚本导入并使用。 如果模块理解为一辆汽车&#xff0c;我们使用汽车可以完成驾驶等工作&#xff0c;那么代码就是一个个细小…

Linux内存管理:(十二)Linux 5.0内核新增的反碎片优化

文章说明&#xff1a; Linux内核版本&#xff1a;5.0 架构&#xff1a;ARM64 参考资料及图片来源&#xff1a;《奔跑吧Linux内核》 Linux 5.0内核源码注释仓库地址&#xff1a; zhangzihengya/LinuxSourceCode_v5.0_study (github.com) 外碎片化发生时&#xff0c;页面分配…

day21网页布局

文章目录 块元素和行内元素列表标签表格标签媒体元素页面结构分析iframe内联框架 块元素和行内元素 块元素&#xff1a;无论内容多少&#xff0c;该元素独占一行。(p标签、h1~h6…) 行内元素&#xff1a;内容撑开宽度&#xff0c;左右都是行内元素的可以排在一行。&#xff08…

Java基础---IO知识以及常用的API整理

Java 中的 I/O&#xff08;输入/输出&#xff09;是一个核心概念&#xff0c;涉及数据的读取和写入。Java I/O API 提供了丰富的类和接口&#xff0c;用于处理不同类型的数据流。了解 Java I/O 的基础知识对于面试和日常编程都非常重要。所以今天来整理一下&#xff1a; 1. Fi…

day42_jdbc

今日内容 0 复习昨日 1 JDBC概述 2 JDBC开发步骤 3 完成增删改操作 4 ResultSet 5 登录案例 0 复习昨日 1 写出JQuery,通过获得id获得dom,并给input输入框赋值的语句 $(“#id”).val(“值”) 2 mysql内连接和外连接的区别 内连接只会保留完全符合关联条件的数据 外连接会保留表…

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

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

idea 快捷键ctrl+shift+f失效的解决方案

文章目录 搜狗输入法快捷键冲突微软输入法快捷键冲突 idea的快捷键ctrlshiftf按了没反应&#xff0c;理论上是快捷键冲突了&#xff0c;检查搜狗输入法和微软输入法快捷键。 搜狗输入法快捷键冲突 不需要简繁切换的快捷键&#xff0c;可以关闭它&#xff0c;或修改快捷键。 微…

Linux Shell编程系列--开篇

一、目的 从本篇开始介绍Linux Shell脚本编程&#xff0c;为简单起见&#xff0c;本篇中以一个显示当前时间的shell脚本来帮助大家理解shell脚本的组成。 SHELL脚本中可以包含变量、函数、命令等部分。 二、介绍 我们通过vim新建一个myshell.sh的脚本&#xff0c;然后输入以下…

工作与生活平衡:在生活中寻找和谐

工作和生活是我们生活中不断交织的两个重要方面。对许多人来说&#xff0c;找到两者之间的完美平衡已经成为一个持久的挑战。然而&#xff0c;与其专注于平衡&#xff0c;更重要的是要认识到工作和生活并不是可以相互平衡的两个分离实体&#xff0c;而是一个相互影响的循环。正…