[软件工具] rclone使用记录

项目地址:rclone/rclone: "rsync for cloud storage" - Google Drive, S3, Dropbox, Backblaze B2, One Drive, Swift, Hubic, Wasabi, Google Cloud Storage, Azure Blob, Azure Files, Yandex Files

这个项目可以访问多种协议的储存,并且将其挂载到电脑目录上,在linux(依赖fuse)及windows(依赖winfsp)上都可以使用

常规使用方式

  • 下载程序后加入环境变量
  • 执行rclone config进入设置
  • n命令添加一个储存,有相当多的类型(http、ftp、sftp、smb、以及常见的各家网盘)
  • 按照提示输入自定义的储存名称(例如remote_repo)、主机名和密码
  • 成功之后可以使用形如rclone sync remote_repo:/path/to/ ./的方式将文件从远程目录同步到本地,或者同步到另一个储存中

本地拷贝、同步文件

rclone的同步功能比windows的复制快得多,尤其是有很多小文件的时候。作为参考,某游戏目录70G,有79w个文件,使用rclone sync开12线程五分钟即可同步完毕,而windows则用了半个小时

例子如下

  • rclone sync D:\source\ E:\dist,基本上可以代替cp指令了
  • 添加--transfers参数,指定同时处理的数量,默认是4
  • -P参数可以看到进度
  • --exclude可以指定排除的路径
# 典型使用
rclone sync D:\game E:\game --exclude "/.userdata/" --transfers 12 -P

或者使用rclone copy

在两个设备间直接传输文件

有时候我们只是临时传输一个文件夹而不想创建一个存储,那么可以使用下面的方法

只需要传一个文件

  • 发送方

rclone serve http D:\game\red3.7z --addr 0.0.0.0:1235

  • 接收方

rclone copy http://192.168.x.x:1235/red3.7z .

或者

wget http://192.168.x.x:1235/red3.7z

再或者浏览器直接打开http://192.168.x.x:1235/red3.7z下载即可

传输文件夹

  • 发送方

rclone serve http D:\game --addr 0.0.0.0:1235

  • 接收方

rclone sync --http-url http://192.168.x.x:1235 :http: ./game

即可将整个目录同步到本地,也可以指定一些参数,那么最终如下

rclone sync --http-url http://192.168.x.x:1235 :http: ./game -P --transfers 12

建立文件分享服务器

可以通过rclone serve将储存或者本地路径分享出去,支持的协议http、dlna、ftp、nfs、sftp、webdav等等,具体见: rclone serve

例如rclone serve http D:\game --addr 0.0.0.0:1235就可以把本地路径共享出去,其他人通过浏览器即可访问下载文件

所以,有一种玩法就是通过rclone挂载网盘为储存,再将储存以webdav分享出去,或者挂载到本地目录

挂载储存到文件夹

windows需要安装winfsp,linux需要安装fuse

命令为rclone mount remote_repo:game game,其中remote_repo是储存名

这样当前路径下就有一个game文件夹,访问它就相当于访问remote_repo储存

posted @ 2024-10-24 16:08  Startu  阅读(57)  评论(0编辑  收藏  举报