安装Gclone
Gclone是downwa大佬根据Rclone的魔改版,支持自动替换及使用SA账户功能。你也可以直接使用Rclone官方版。在这里,我将使用Gclone作为演示。
bash <(wget -qO- https://git.io/gclone.sh)
##方便使用gclone直接改名rclone
cp /usr/bin/gclone /usr/bin/rclone
配置Rclone
连接Onedrive
rclone config
输入 n
回车新建配置
输入配置名称,例如:Onedrive
选择 23
Microsoft OneDrive并回车『在此教程时,Onedrive为23选项,请根据实际情况选择』
获取并使用自己的Client ID 和 Key
Client ID
和 Key
,请直接回车跳过,下面是获取自己 Client ID
和 Key
的步骤打开 https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade 并点击 New registration
为创建的APP输入一个名称,类型选择 Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox)
, Redirect URI
选择 web
并填入 http://localhost:53682/
点击注册。
拷贝并粘贴 Application (client) ID
到命令行,并回车确认
选择左侧 Certificates & secrets
并点击 New client secret
;过期时间选择 Never
并输入一个自己想要的名称点击 Add
「在最新版中,已无 Never
选项,你可自行设置一个自定义的时间即可」
拷贝并粘贴生成的密钥,只会显示一次,如果忘记了,请重新删除添加
选择左侧的 API permissions
并点击 Add a permission
;选择 Microsoft Graph
– delegated permissions
搜索并添加如下权限: Files.Read
, Files.ReadWrite
, Files.Read.All
, Files.ReadWrite.All
, offline_access
, User.Read
. 全部勾选后,点击 Add permissions
完成后,应该如下图所示
将上面的Client ID and Secret分别粘贴到对应的Rclone需求步骤即可
接着我们回到配置Rclone的过程,输入 n
并回车跳过高级设置
- 如果你是在本地机器配置 [有浏览器的机器]:输入
y
并回车,登录账户进行授权,如果浏览器没有自动打开,请复制给到的网址并手动打开访问授权 - 如果你是在VPS服务器上配置 [没有GUI界面及浏览器]:输入
n
并回车,按提示下载Rclone程序到本地解压并在Rclone所在文件夹CMD命令行运行rclone authorize "onedrive" -- "替换为你的client id" "替换为你的client secret"
,在跳出的浏览器页面登录账户授权
例如在Windows平台下,你可以通过在Rclone所在文件夹内的地址栏输入 cmd
并回车来运行相关命令
复制整个 {}
内的内容并粘贴到rclone配置步骤回车
{"access_token":"xxxxxx","token_type":"Bearer","refresh_token":"xxxxxx","expiry":"xxxxxx"}
输入 1
并回车选择 OneDrive Personal or Business
选择程序找到的网盘,输入对应的序号并回车『一般为 0
』
输入 y
并回车
输入 y
确认所有信息
常用命令
# 上传VPS本地文件到网盘
# 例如 rclone copy /root/storage/downloads Onedrive:/Temp -P
rclone copy /本地文件地址 目标配置名称:/目标储存地址
# 两个网盘间互相拷贝
rclone copy 源配置名称:/源储存地址 目标配置名称:/目标储存地址
rclone copy GoogleDrive:/Public Onedrive:/Temp -P --ignore-existing
- 使用
--ignore-existing
标签去忽略已经存在的文件 - 使用
-P
/--progress
标签去实时观察传输进度情况 - 使用
--dry-run
标签去测试运行「不会实际拷贝文件」 --drive-server-side-across-configs
标签允许Google Drive服务端之间直接复制--onedrive-server-side-across-configs
标签允许Onedrive服务端之间直接复制
--dry-run
标签测试一次命令,确认命令是否如期正确运行并拷贝文件并通读Rclone官方相关文档。其次,如果需要一次性拷贝大量文件,请使用Tmux或Screen等程序使其后台运行,否则在关闭SSH连接后,相关传输会断开参考链接
Rclone 配置 Microsoft OneDrive 官方教程