file

在Debian/Ubuntu上使用rclone挂载OneDrive网盘

说明

本教程只适用Debian/Ubuntu系统,如果你是CentOS或者其它Linux系统,请使用以下命令安装rclone:

curl https://rclone.org/install.sh | sudo bash

客户端授权、初始化配置和挂载方法和下面一样。

授权

在本地Windows电脑上下载rclone,下载地址:https://rclone.org/downloads/ 然后解压出来,比如我解压到D盘,文件夹命名rclone,此时点击Win+R,然后输入cmd,确定。再输入以下命令:

cd /d d:\rclone
rclone authorize "onedrive"

会出现以下信息:

C:\Users\Administrator>cd /d d:\rclone

d:\rclone>rclone authorize "onedrive"
2018/01/23 20:28:56 NOTICE: Config file "C:\\Users\\Administrator\\.config\\rclo
ne\\rclone.conf" not found - using defaults
Choose OneDrive account type?
 * Say b for a OneDrive business account
 * Say p for a personal OneDrive account
b) Business
p) Personal
b/p> p  #这里选择个人版,你想挂载Business就选择b
If your browser doesn't open automatically go to the following link: http://127.
0.0.1:53682/auth  #接下来会弹出浏览器,要求你登录账号进行授权
Log in and authorize rclone for access
Waiting for code...
Got code
Paste the following into your remote machine --->
{"access_token":"xxxx"}  #请复制{xx}整个内容,后面需要用到
<---End paste

安装rclone

安装rclone

wget https://www.moerats.com/usr/shell/rclone_debian.sh && bash rclone_debian.sh

初始化配置

rclone config

会出现以下信息:

n) New remote
s) Set configuration password
q) Quit config
n/s/q> n                           # 输入 n 新建配置
name> aiuysDisk                    # 设置配置名称
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / 1Fichier
   \ "fichier"
...
Storage> 23                       # 选择23,Microsoft OneDrive,注意该序列号会随时变化,看清楚再填
** See help for onedrive backend at: https://rclone.org/onedrive/ **
Microsoft App Client Id
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_id>                        # 留空,直接回车
Microsoft App Client Secret
Leave blank normally.
Enter a string value. Press Enter for the default ("").
client_secret>                    # 留空,直接回车
Edit advanced config? (y/n)
y) Yes
n) No
y/n> n                            # 选择 n 回车
Remote config
Use auto config?
 * Say Y if not sure
 * Say N if you are working on a remote or headless machine
y) Yes
n) No
y/n> n                            # 选择 n 回车
For this to work, you will need rclone available on a machine that has a web browser available.
Execute the following on your machine (same rclone version recommended) :
        rclone authorize "onedrive"
Then paste the result below:
result> {"access_token":"xxx"}    # 这里粘贴刚才得到的 OneDrive 授权码
Choose a number from below, or type in an existing value
 1 / OneDrive Personal or Business
   \ "onedrive"
 2 / Root Sharepoint site
   \ "sharepoint"
 3 / Type in driveID
   \ "driveid"
 4 / Type in SiteID
   \ "siteid"
 5 / Search a Sharepoint site
   \ "search"
Your choice> 1                    # 选择 1 回车
Found 1 drives, please select the one you want to use:
0: OneDrive (business) id=xxx
Chose drive to use:> 0            # 这里选择给出的编号后回车,我的是 0
Found drive 'root' of type 'business', URL: https://pqj-my.sharepoint.com/personal/xxx
Is that okay?
y) Yes
n) No
y/n> y                            # 选择 y 回车
--------------------
[aiuysDisk]
type = onedrive
token = {"access_token":"xxx"}
drive_id = xxx
drive_type = business
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y                          # 选择 y 回车
Current remotes:

Name                 Type
====                 ====
aiuysDisk            onedrive

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 保存并退出

挂载

挂载为磁盘

#新建本地文件夹,路径自己定,即下面的LocalFolder
mkdir /root/OneDrive
#挂载为磁盘,下面的DriveName、Folder、LocalFolder参数根据说明自行替换
rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

DriveName为初始化配置填的name,Folder为OneDrive里的文件夹,LocalFolder为VPS上的本地文件夹。

例:rclone mount aiuysDisk:/mydisk /home/aiuys/Disk1 \

如果挂载过程中出现NOTICE: One drive root ‘test’: poll-interval is not supported by this remote错误,可以无视该错误。

挂载成功后,输入df -h命令查看即可!

Filesystem      Size  Used Avail Use% Mounted on
onedrive:file    25T  7.6T   18T  31% /www/wwwroot/OneDrive

卸载磁盘

卸载磁盘

fusermount -qzu LocalFolder

开机自启

先新建systemd配置文件,适用CentOS 7、Debian 8+、Ubuntu 16+

再使用命令:

#将后面修改成你上面手动运行命令中,除了rclone的全部参数
command="mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000"
#以下是一整条命令,一起复制到SSH客户端运行
cat > /etc/systemd/system/rclone.service <<EOF
[Unit]
Description=Rclone
After=network-online.target

[Service]
Type=simple
ExecStart=$(command -v rclone) ${command}
Restart=on-abort
User=root

[Install]
WantedBy=default.target
EOF

开始启动:

systemctl start rclone

设置开机自启:

systemctl enable rclone

其他命令:

重启:systemctl restart rclone
停止:systemctl stop rclone
状态:systemctl status rclone

如果你想挂载多个网盘,那么将systemd配置文件的rclone.service改成rclone1.service即可,重启动什么的同样换成rclone1。

常用Rclone命令

### 文件上传
rclone copy /home/backup aiuysDisk:backup  # 本地路径 配置名字:网盘文件夹路径
### 文件下载
rclone copy aiuysDisk:backup /home/backup  # 配置名字:网盘文件夹路径 本地路径
### 新建文件夹
rclone mkdir aiuysDisk:backup              # 配置名字:网盘文件夹路径
### 获取文件夹大小
rclone size aiuysDisk:backup               # 配置名字:网盘文件夹路径

### 列表
rclone ls aiuysDisk:backup
rclone lsl aiuysDisk:backup # 比上面多一个显示上传时间
rclone lsd aiuysDisk:backup # 只显示文件夹
### 挂载
rclone mount aiuysDisk:mydisk /root/mydisk &
### 卸载
fusermount -u  /root/mydisk

#### 其他 ####
rclone config - 以控制会话的形式添加rclone的配置,配置保存在.rclone.conf文件中。
rclone copy - 将文件从源复制到目的地址,跳过已复制完成的。
rclone sync - 将源数据同步到目的地址,只更新目的地址的数据。   –dry-run标志来检查要复制、删除的数据
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 - 交互式查找重复文件,进行删除/重命名操作。

人已赞赏
教程笔记

一款开源免费且类似Emby的个人媒体服务器:Jellyfin安装教程

2020-12-15 10:15:56

教程笔记

Rclone 进阶使用教程 - 常用命令参数详解

2020-12-15 16:57:44

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索