[软件工具] rclone使用记录
这个项目可以访问多种协议的储存,并且将其挂载到电脑目录上,在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
储存