Rclone-超好用的挂载各家网盘与VPS 桥梁的工具

Rclone-超好用的挂载各家网盘与VPS 桥梁的工具

Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。虽然,现在有比较流行的可视Alist网盘管理,但是,多知道一些也没有坏处,以防备用。

搭建环境:本人基本都是采用的军哥的LNMP作为网站的环境,这里不在阐述如何搭建,网站内可以找到。

Rclone安装命令:

wget https://downloads.rclone.org/rclone-current-linux-amd64.zip

unzip rclone-current-linux-amd64.zip

chmod 0777 ./rclone-*/rclone

cp ./rclone-*/rclone /usr/bin/

rm -rf ./rclone-*


rclone config

Rclone-超好用的挂载各家网盘与VPS 桥梁的工具NAME:这里个人随便设置,我自己写的YTB

Rclone-超好用的挂载各家网盘与VPS 桥梁的工具

可以看到每个数字代表了不同的网盘,我选者的是10:google drive

之后的 client id client secret 都不填,直接回车

use auto config 选择 n 然后会得到一个链接

这个链接复制到浏览器,登录自己的GG账号点同意,给出一段密码,将其复制到终端中,回车 然后输入 n y q。结束

n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> aria2down  #随便填,后面要用到
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Alias for a existing remote
   \ "alias"
 2 / Amazon Drive
   \ "amazon cloud drive"
 3 / Amazon S3 (also Dreamhost, Ceph, Minio, IBM COS)
   \ "s3"
 4 / Backblaze B2
   \ "b2"
 5 / Box
   \ "box"
 6 / Cache a remote
   \ "cache"
 7 / Dropbox
   \ "dropbox"
 8 / Encrypt/Decrypt a remote
   \ "crypt"
 9 / FTP Connection
   \ "ftp"
10 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
11 / Google Drive
   \ "drive"
12 / Hubic
   \ "hubic"
13 / Local Disk
   \ "local"
14 / Microsoft Azure Blob Storage
   \ "azureblob"
15 / Microsoft OneDrive
   \ "onedrive"
16 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
17 / Pcloud
   \ "pcloud"
18 / QingCloud Object Storage
   \ "qingstor"
19 / SSH/SFTP Connection
   \ "sftp"
20 / Webdav
   \ "webdav"
21 / Yandex Disk
   \ "yandex"
22 / http Connection
   \ "http"
Storage> 11 #选择11
Google Application Client Id - leave blank normally.
client_id> #留空(解决卡顿内存高的问题,可以添加自己网盘的id)
Google Application Client Secret - leave blank normally.
client_secret> #留空(解决卡顿内存高的问题,可以添加自己网盘的密钥
Scope that rclone should use when requesting access from drive.
Choose a number from below, or type in your own value
 1 / Full access all files, excluding Application Data Folder.
   \ "drive"
 2 / Read-only access to file metadata and file contents.
   \ "drive.readonly"
   / Access to files created by rclone only.
 3 | These are visible in the drive website.
   | File authorization is revoked when the user deauthorizes the app.
   \ "drive.file"
   / Allows read and write access to the Application Data folder.
 4 | This is not visible in the drive website.
   \ "drive.appfolder"
   / Allows read-only access to file metadata but
 5 | does not allow any access to read or download file content.
   \ "drive.metadata.readonly"
scope> 1 #选择1
ID of the root folder - leave blank normally.  Fill in to access "Computers" folders. (see docs).
root_folder_id> #留空
Service Account Credentials JSON file path  - leave blank normally.
Needed only if you want use SA instead of interactive login.
service_account_file> #留空
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine or Y didn't work
y) Yes
n) No
y/n> n  #选择n
If your browser doesn't open automatically go to the following link: https://accounts.google.com/o/oauth2/auth....  #复制到浏览器打开,获取验证码
Log in and authorize rclone for access
Enter verification code>  #填入上面获取到的验证码
Configure this as a team drive?
y) Yes
n) No
y/n> y  #选择y
Fetching team drive list...
No team drives found in your account--------------------
[Rats]
client_id = 
client_secret = 
service_account_file = 
token = {"access_token":"ya29.GltFBd7UJN2qrxdG8FnG_rMuB18ogb8QlujdL7glvXtfV"}
team_drive = 
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y  #选择y
Current remotes:

Name                 Type
====                 ====
aria2down            drive

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q  #选择q退出

如果你要挂载的文件夹不存在,请先创建文件夹,例如我要创建在 /home/wwwroot/域名/Gdrive

 mkdir -p /home/wwwroot/域名/Gdrive
 rclone mount ytb: /home/wwwroot/域名/Gdrive --allow-other &

2

#新建本地文件夹,路径自己定,即下面的LocalFolder
 mkdir -p /home/wwwroot/域名/Gdrive
#挂载为磁盘
rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

DriveName为初始化配置填的nameFolderGoogle Drive里的文件夹,LocalFolderVPS上的本地文件夹。

挂载另外的一些命令说明方案:英文官方 地址

解决上传失败和内存占用高等问题

#该参数主要是上传用的
/usr/bin/rclone mount DriveName:Folder LocalFolder \
–umask 0000 \
–default-permissions \
–allow-non-empty \
–allow-other \
–transfers 4 \
–buffer-size 32M \
–low-level-retries 200

#如果你还涉及到读取使用,比如使用H5ai等在线播放,就还建议加3个参数,添加格式参考上面
–dir-cache-time 12h
–vfs-read-chunk-size 32M
–vfs-read-chunk-size-limit 1G

主要参数这里大概说下,具体自己根据vps配置进行调整。

–transfers:该参数控制最大同时传输任务数量,如果你cpu性能差,建议调低,但太低可能会影响多个文件同时传输的速度。
–buffer-size:该参数为读取每个文件时的内存缓冲区大小,控制rclone上传和挂载的时候的内存占用,调低点可以防止内存占用过高而崩溃,但太低可能会影响部分文件的传输速度。
–low-level-retries:该参数为传输文件没速度的时候重试次数,没速度的时候,单个会自动睡眠10ms起,然后再重试,不行,再睡眠更长一段时间,再重试,这样可以稍微加快文件上传进度

更加详细的介绍可以打开上边的官方地址看说明设置

rclone 命令:

rclone config – 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy – 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync – 将源数据同步到目的地址,只更新目的地址的数据。
rclone move – 将源数据移动到目的地址。
rclone delete – 删除指定路径下的文件内容。
rclone purge – 清空指定路径下所有文件数据。
rclone mkdir – 创建一个新目录。
rclone rmdir – 删除空目录。
rclone check – 检查源和目的地址数据是否匹配。
rclone ls – 列出指定路径下所有的文件以及文件大小和路径。
rclone lsd – 列出指定路径下所有的目录/容器/桶。
rclone lsl – 列出指定路径下所有文件以及修改时间、文件大小和路径。
rclone md5sum – 为指定路径下的所有文件产生一个md5sum文件。
rclone sha1sum – 为指定路径下的所有文件产生一个sha1sum文件。
rclone size – 获取指定路径下,文件内容的总大小。.
rclone version – 查看当前版本。
rclone cleanup – 清空remote。
rclone dedupe – 交互式查找重复文件,进行删除/重命名操作。

### 文件上传
rclone copy /home/backup gdrive:backup (我自己设置的是:(GD:SFVIDEO)# 本地路径 配置名字:谷歌文件夹名字
### 文件下载
rclone copy gdrive:backup /home/backup
### 列表
rclone ls gdrive:backup
rclone lsl gdrive:backup # 比上面多一个显示上传时间
rclone lsd gdrive:backup # 只显示文件夹
### 新建文件夹
rclone mkdir gdrive:backup
### 挂载
rclone mount gdrive:mm /root/mm &
### 卸载
fusermount -u  /root/mm

rclone配置文件存储位置 ~/.config/rclone/rclone.conf

其他的问题可以在GooGle上找寻,这里先到这把,另外在使用命令的时候最好先用一些不重要的文件做实验,以免造成不必要的损失。

自动启动:

wget https://www.vrrmr.net/Code/rcloned && vim rcloned

修改文件:

NAME=""  #rclone name名,及配置时输入的Name
REMOTE=''  #远程文件夹,Google Drive网盘里的挂载的一个文件夹
LOCAL=''  #挂载地址,VPS本地挂载目录

设置自启

mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
update-rc.d -f rcloned defaults
bash /etc/init.d/rcloned start

———————————-

添加一个一键安装代码:

wget https://www.vrrmr.net/Code/rclone_install.sh && bash  rclone_install.sh
rclone config #配置就按上边的就可以了
重启:systemctl restart rclone
停止:systemctl stop rclone
状态:systemctl status rclone
© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容