前言

Rclone 是一款支持多网盘协议的云盘同步命令行工具,支持网盘的上传,下载,相互传输等多种功能.还支持 Windows Linux 挂载到本地磁盘.本文将简单介绍在 Linux 下安装和配置 Rclone ,并实践挂载 OneDrive

安装配置

安装

curl https://rclone.org/install.sh | sudo bash
# 官网安装脚本
yum -y install fuse
# 安装挂载依赖 fuse

配置

rclone config
# 配置挂载网盘
~/.config/rclone/rclone.conf
# 配置文件所在目录

挂载

rclone mount <网盘名称>:<网盘路径> <本地路径> <参数> --daemon
# 挂载命令
fusermount -qzu <本地路径>
# 卸载挂载

参考命令参数

rclone copy source:path dest:path
# 从源文件拷贝到目的,不会删除目的的文件,会跳过未变更的文件,基于大小和修改时间或MD5值判断是否变更过。
rclone sync source:path dest:path
# 将目的文件夹同步成和原文件夹完成相同,会删除目的文件夹中的其他文件,可以先用 --dry-run 参数运行,查看哪些文件会被删除和变更。
rclone move source:path dest:path
# 移动文件夹,对于少量文件移动到有大量文件的目的,可以使用 --no-traverse 参数加速。
rclone purge remote:pat
# 删除 path 及其中的所有内容。
rclone mkdir remote:path [flags]
# 如果路径不存在,则创建
rclone rmdir remote:path [flags]
# 删除空的存储桶,如果存储桶非空,可以使用 rclone purge
rclone check source:path dest:path [flags]
# 根据文件大小以及 hash 值对源和目的进行校验(md5和sha1),--size-only 只对比大小;--download 下载下来对比;--one-way,根据源端的数据列表对比; --checksum ,进行 size, checksum 校验;默认,进行大小和修改时间校验。
rclone ls remote:path [flags]
# 查看对象大小和路径;lsl,包括修改时间;lsd,列出目录;lsjson,以 json 格式输出。
rclone lsd remote:path [flags]
# 列出路径下的目录或存储桶
rclone delete remote:path [flags]
# 删除 path 下符合条件的对象
rclone size remote:path [flags]
# 查看远端的文件数目和总大小
rclone rcat remote:path [flags]
# 将标准输出复制到远程文件中

  

挂载实例

rclone

apt-get install rclone -y
rclone config
————————————————————
n) New remote:新建一个远程存储。
s) Set configuration password:设置配置文件的密码。
q) Quit config:退出配置界面。
n/s/q> This value is required and it has no default.
n/s/q> n # 输入n新建一个配置
————————————————————
Enter name for new remote.(填写名称)
name> onedrive
.......

设置一个名字后,服务选择选择OneDrive
同时本地电脑也下rclone,文件夹内打开powershell
输入

./rclone authorize "onedrive"

会自动打开浏览器,登录你想挂载的OneDrive账号即可
回到Powershell复制token
回到SSH
rclone一路按y,等到出现(client ID之类的都可以不填,默认选择国际版OneDrive)

“config_token>”

这行时粘贴前面复制的token
一路下一步即可,此时rclone已经可以读取到OneDrive了

接下来创建Rclone挂载(将路径/名称改为你自己的)

挂载网盘

mkdir /data
# 创建本地挂载目录
rclone mount OneDrive: /data --copy-links --allow-other --allow-non-empty --umask 000 --daemon
# 挂载命令
# 其中 OneDrive: 为挂载网盘根目录
# 其中 OneDrive:/xxx 为挂载网盘子目录.
fusermount -qzu /data
# 卸载挂载​mkdir /data
# 创建本地挂载目录
rclone mount OneDrive: /data --copy-links --allow-other --allow-non-empty --umask 000 --daemon
# 挂载命令
# 其中 OneDrive: 为挂载网盘根目录
# 其中 OneDrive:/xxx 为挂载网盘子目录.
fusermount -qzu /data
# 卸载挂载

或者:

screen -S rclone
mkdir /mnt/onedrive
rclone mount onedrive:/ /mnt/onedrive --cache-dir /tmp --allow-other --vfs-cache-mode writes --vfs-cache-max-age 1m --allow-non-empty

Crtl+A+D离开Screen
此时OneDrive已经挂载到了/mnt/onedrive目录
cd /mnt/onedrive使用ls命令确认挂载是否成功

可能遇到的问题
错误代码:VolumeDriver.Mount: failed to mount FUSE fs: fusermount: exec: "fusermount3": executable file not found in $PATH
解决:apt-get install fuse3

届ける言葉を今は育ててる
最后更新于 2023-12-15