建议搭配视频教程阅读体验更佳,点击上方书本图标进入阅读模式,缓解眼部疲劳,侧边有章节索引快速定位,好了,我们开始吧!
youtube 4K高清点此:
1.Rclone的安装
我们先看看windows下的安装使用,这个应该是最简单的,然后linux系统以centos7为例,也过一遍安装流程,方便给linux新手熟悉下环境
对了,建议搭配思维导图理顺思路:
整个系列思维导图.xmind文件点此下载:
Gooogle Drive.xmind
1.a.Windows环境下安装Rclone
首先,从rclone官网下载windows的Rclone
https://rclone.org/downloads/
解压放到顺手的地方即可使用
cmd执行,输入rclone config即可配置
我们用sstap简单做个转发所有流量,将v2作为路由功能,打包sstap转发的所有流量即可实现全局的效果
sstap选择1.0.9.8或更旧版本,添加socks5代理,填写本地内网ip:107.0.0.1,端口则是v2在本地的监听端口,打开你的v2客户端找到参数设置,本地监听端口:10808,我这是这个,那么复制到sstap。
选择不代理中国ip模式即可,点击连接,重新打开cmd即可
如果你对sstap和v2ray不熟悉,条件不具备,只有ss/ssr,可以尝试使用proxifier进行全局代理配置,搭配ss/ssr,这里简单演示一下:
添加proxy servers,地址127.0.0.1,端口用ss/ssr的本地监听端口,一般是1080,socks5代理,check
proxification rules 将localhost和ss/ssr添加直连action(direct),其他所有流量走刚才的127.0.0.1:1080(ss默认端口自行查看)
socks5代理,启动,百度输入ip,是你ss/ssr的服务器ip,则说明全局代理生效了
Rclone默认配置文件路径在你用户名下这个位置:
C:/Users/你的用户名/.config/rclone/rclone.config
配置完毕后,如果以后想方便使用,可以添加对rclone文件进行环境变量路径配置:
在电脑桌面右键点击“此电脑”的“属性”选项
选择“高级系统设置”选项
在系统变量中找到path,新增一个路径即可,无需命名
重新打开cmd,输入rclone config即可检查是否成功
这样就不用每次输入完整的文件路径了
至于其他系统的安装操作
官网有各个系统的示例,感兴趣的可以查看下:
https://rclone.org/install/
1.b.这里演示下centos7系统内rclone的安装:
首次登录vps建议先做点安全措施,改用密钥登录
cat id_rsa_2048.pub >> /root/.ssh/authorized_keys
vi /etc/ssh/sshd_config
主要两点:
1.关闭密码登录:PasswordAuthentication no
2.检查公钥文件路径:AuthorizedKeysFile .ssh/authorized_keys
然后systemctl restart sshd ,新开一个访问测试是否ok
我个人喜欢在screen窗口里安装,这里先下载centos最大的第三方epel源,类似于app市场,然后安装一些常用工具:
yum -y install epel-release
yum -y install wget unzip zip screen fuse fuse-devel
如果你不挂载网盘,fuse可以不安,如果你不打包zip文件,zip工具可以不安装
安好后打开一个新的screen运行配置:
screen -S install
安装rclone:
wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*
配置rclone:
rclone config
我们过一遍最简单的默认配置,配置一个google drive和一个OneDrive:
如果你是第一次配置,应该会提示/root/.config/rclone/rclone.conf配置文件不存在,自动创建一个。这个路径可以记下,以后搬运换vps,拷贝过去就方便很多,不需要重复配置了
如果网盘命名不满意,ctrl+backspace退格
OneDrive的配置,由于没有桌面浏览器,需要我们在pc或者window上面授权获取密钥
cmd执行 rclone authorize "onedrive"
授权完毕回到cmd,获得code,全选,鼠标右键,就是复制好了
粘贴回你的ssh窗口
一顿操作配置完毕后….
大家可以看到,windows和linux安装rclone其实都差不多,除去国内环境因素,实际配置使用并不麻烦,都是从官网下载zip文件解压就可以用了,只是一个手动界面化操作,执行通过cmd工具,一个则是通过指令解压安装,直接linux界面敲代码配置
而基本的配置流程,熟悉几遍后,也是比较简单的。
1.c.高级(推荐):私有api授权配置
配置完毕,稍作休息,我们继续拓展一下,创建自己的私有api授权,以保证网盘操作的稳定性:
先拿google做示范,打开开发控制后台:
https://console.developers.google.com/apis/api/drive.googleapis.com/overview
首次会提示启用DriveAPI
然后新建Oauth认证信息,填桌面应用类型即可,名字随意
https://console.developers.google.com/apis/credentials/oauthclient
这样就拿到了rclone config配置里可以用到的私有Client_ID和client_secret,我们再次配置一下:
配置完毕后,我们ctrl+shift+f打开xftp,下载到本地查看下,会发现多出来两行配置,通过自己的私有api,可以保证api调用稳定,和每日750GB稳定传输
微软的onedriveAPI获取和授权:
进入 Microsoft Azure 应用注册页面。点击新注册
名称随意,账户类型选择最后一个,重定向 URL 填写http://localhost:53682/
创建成功后你会看到 Client ID(客户端ID),复制并保存好。
获取 Client secret
点击证书和密码,按照图中序号的顺序操作添加密码。
设置 API 权限
点击API 权限,按照图示进行操作,添加Files.Read、Files.ReadWrite、Files.Read.All、Files.ReadWrite.All、offline_access、User.Read这些权限。
回到rlcone,你可以按部就班编辑onedrive的配置,新增Client_ID和Client_secret进行配置,也可以使用如下指令快速配置:
rclone authorize "onedrive" "Client_ID" "Client_secret"
复制token到配置文件里,新增如下内容:
token = {"access_token":"xxxxxxxxxxxxxxxxxx","expiry":"2020-02-22T21:18:39.5036298+08:00"}
rclone的基本配置,这里就算完成了,如果你对后续gclone和更高级别的工具感兴趣的话,我们不要着急,接下来就是关于Service Account的创建流程。
如果只是轻量使用,觉得750gb/24h已经足够,那么直接结束后续章节的深入学习,直接看看接下来这个常用的rclone的参数优化和常用指令演示,拿着最简单的rclone开开心心使用也能收获很多快乐。
rclone copy -v --disable copy --stats 15s --bwlimit 80M --drive-acknowledge-abuse --max-size 100G --max-transfer 750G --cache-chunk-size 5M --cache-chunk-total-size 5G --transfers 8 Gdrive:Galgame/ Onedrive:galgame/
-v可视化,
--disable copy 强制本地流量拷贝,减少服务器拷贝不稳定性,
--stats 15s,每隔15s更新进度状态,
--bwlimit 80M限制带宽80M,即640mbps以内
--drive-acknowledge-abuse 拷贝被标记违规文件,不能拷贝病毒文件,也不能拷贝不是自己所有权的违规文件
--max-size 100GB OneDrive目前单文件最大只支持100GB,超过的拷不过,别浪费资源
--max-transfer 750G 单账号佛系拷贝,满每24h额度就停止
--cache-chunk-size 5M 每个数据缓存块单元大小,默认5m,越大理论上传越快,同时越占内存
--transfers 8 线程默认4,适合<512m内存vps,8线程建议>512m vps使用,如果是OneDrive,建议别超过8线程,那边api限制原因,多线程反而又副作用,谷歌这边对拷,根据自己vps宽带质量,磁盘io,自行增减
好了,rclone基本安装使用到此结束,ctrl+a+d
,关闭screen页面,后台运行,安心下线即可,下次 screen -r
恢复
对了,配置文件相关操作参考:
rclone config file - 显示配置文件的路径,
一般配置文件在 ~/.config/rclone/rclone.conf
即你当前用户是root的话,配置文件路径就是/root/.config/rclone/rclone.conf
rclone config show - 显示配置文件信息
如果想快速拷贝配置文件到你pc上备份,可以通过xshell快捷键ctrl+shift+f启动xftp,找到对应路径拷贝下来,或者安装lrzsz:
yum install lrzsz -y
sz /root/.config/rclone/rclone.conf
即可下载配置文件
而输入rz则是上传本地文件
特别注意:进入screen session后,同时按住(CTRL和A键)然后输入 :zmodem pass
然后再回车<ENTER>即可使用 rz/sz
如果你没注意直接在screen里面输入rz/sz卡死,请先 ctrl+a+d
退出当前窗口,退出访问:screen -D
然后 screen -X -S seesionID/screenname quit
下一节:
4 comments
因为Hath存放的文件通常都只有几百k到数M,对于类这种有着明确特殊用途的挂载,是否有必要对rclone的参数进行微调?比如--buffer-size参数的介绍是:The --buffer-size flag determines the amount of memory, that will be used to buffer data in advance. Each open file will try to keep the specified amount of data in memory at all times. The buffered data is bound to one open file and won't be shared. 是否有必要把-buffer-size降低到8M以下同时提高transfer的并发数以提高效率?
--buffer-size基本理解为本地内存cache,机器内存足够的情况下,一个巨大的cache是最好的,在调用本地内存没有cache的文件时候,才会调用云盘api拉取云端文件,此刻唯一限制的就是私有api的app数量(俗称的私有api),单账号的api配置下,transfers上4之后意义不大了,尤其是对od来说,印象中是单app总共限额就3次调用/秒,持续并发访问上6之后几分钟就会暂时throttle,gd好像是100次/分?大致限制参看
使用rclone将google drive转存OneDrive 的一些参数配置和微软的隐藏限额简介
我现在用的一台1G内存的VPS在挂,准备hath分配512M,glcone分配256M(4*64),其他的系统用,这个算合理吧?
用着看看呗,这横竖就是个娱乐摸索,初期hitrate基本上就是<5/min,单一个rclone+ transfers=2足够胜任了。