centos利用rclone挂载Googledrive、onedrive当硬盘且利用Aria2离线下载后自动转移,另附部分rclone命令

Aria2 + rclone 问题解决- YouTube

说明:最近 Microsoft Office365 E3 MSDN 管理员账号炒的很火,博主也有幸获得了一个。但是网上的教程多为 Debian/Ubuntu 的但是博主一直使用的是 Centos 系统。这里分享 Centos7 系统的部署教程。

一、安装 ARIA2

1.安装命令

安装前先安装 unzip 解压工具包和 wget 下载工具

unzip 命令

yum install zip unzip

wget 命令

yum -y install wget

mkdir /home/Download

wget -N –no-check-certificate http://pan1.pan.94p.net/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83/sh/aria2.sh

chmod +x aria2.sh

安装完后运行 ./aria2.sh

配置 自动更新 BT-Tracker服务器
更改下载目录为 /home/Download

二、安装 rclone

首先需要在本地电脑也下载 rclone (用于获取 OneDrive 登录 TOKEN , 因为过程当中会打开网页,登录 OneDrive 由于 SSH 配置是无法看到网页的)

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

cd c:\rclone

rclone authorize “onedrive”

会出现以下信息:

c:\rclone>cd /c:\rclone

c:\rclone>rclone authorize “onedrive”

Choose OneDrive account type?

* Say b for a OneDrive business account

* Say p for a personal OneDrive account

b) Business

p) Personal

b/p> b <== (这里 个人账号选 p 工作账号选 b 因为我们是 OneDrive Business)

If your browser doesn’t open automatically go to the following link: http://127.

0.0.1:53682/auth <== (这里会打开网页 登录你的 OneDrive 账号即可)

Log in and authorize rclone for access

Waiting for code…

Got code <== (这里是返回你的 TOKEN)

Paste the following into your remote machine —>

{“access_token”:”eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6ImlCakwxUmNxemhpeTR

mcHhJeGRacW9oTTJZayIsImtpZCI6ImlCakwxUmNxemhpeTRmcHhJeGRacW9oTTJZayJ9.eyJhdWQiOi

JodHRwczovL2FwaS5vZmZpY2UuY29tL2Rpc2NvdmVyeS8iLCJpc3MiOiJodHRwczovL3N0cy53aW5kb3

dzLm5ldC8zOWE2Y2E2MS05OGRjLTRkY2MtYjU5Mi1kM2JhYzYxNDkzOTQvIiwiaWF0IjoxNTI1Mjc2OD

98JnWA_VvhIUeW98RvBSAA”,”expiry”:”2018-05-03T01:04:55.9347103+08:00″}

<—End paste

我们所需要的就是下面绿色区域中间的内容 {“access_token”:” …. “expiry”:”2018-08-18T01:04:55.9347103+08:00″}粘贴文本到新建的记事本保存好。

三、vps 安装和配置 rclone

1.安装命令

yum -y update

yum -y install fuse

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

2.安装完成开始配置 rclone

配置 rclone 命令:

rclone config

会出现以下信息:

[root@MeiamOS ~]# rclone config

No remotes found – make a new one

n) New remote

s) Set configuration password

q) Quit config

n/s/q> n

name> OneDrive <== (这里输入挂在项目的名字)

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 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)

\ “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 / Mega

\ “mega”

15 / Microsoft Azure Blob Storage

\ “azureblob”

16 / Microsoft OneDrive

\ “onedrive”

17 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)

\ “swift”

18 / Pcloud

\ “pcloud”

19 / QingCloud Object Storage

\ “qingstor”

20 / SSH/SFTP Connection

\ “sftp”

21 / Webdav

\ “webdav”

22 / Yandex Disk

\ “yandex”

23 / http Connection

\ “http”

Storage> 16 <== (这里选择 所需要挂在类型的 ID 上面是可以挂在网盘的列表)

Microsoft App Client Id – leave blank normally.

client_id> <== (回车留空)

Microsoft App Client Secret – leave blank normally.

client_secret> <== (回车留空)

Remote config

Choose OneDrive account type?

* Say b for a OneDrive business account

* Say p for a personal OneDrive account

b) Business

p) Personal

b/p> b <== (我们的账号是 OneDrive Business 账号所以选择 b)

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:

rclone authorize “onedrive”

Then paste the result below:

result> {“access_token”:””,”expiry”:””} <== (这里贴入刚才获取 TOKEN)

——————–

[OneDrive]

type = onedrive

client_id =

client_secret =

token = {“access_token”:””,”expiry”:”2018-08-18T22:56:29.794396289-04:00″}

——————–

y) Yes this is OK

e) Edit this remote

d) Delete this remote

y/e/d> y <== (这里选择 Y 确定保存 TOKEN )

Current remotes:

 

Name Type

==== ====

OneDrive 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 退出配置 )
[root@MeiamOS ~]#

继续输入命令进行挂载

#安装 fuse

yum -y install fuse #创建挂载目录

mkdir -p /home/onedrive #挂载

rclone mount remote:path/to/files /home/onedrive #如果需要后台保持运行,使用下面的命令

nohup rclone mount remote:path/to/files /home/onedrive &

解释下上面的参数:
remote:远程名,之前我们设置的是 onedrive
path/to/files:远程文件路径(也就是 Onedrive 路径),可设置为/
/home/onedrive:本地磁盘路径
不出问题的情况下,输入df -h就可以看到 Onedrive 成功挂载。

四、设置自启动挂载脚本

1、下载 RCLOAD 自启动挂载脚本:

wget -N –no-check-certificate http://pan1.pan.94p.net/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83/sh/rcloned

vim rcloned

2、修改 RCLOAD 自启动脚本关联目录

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

如果你的下载目录和我们一样就不用改

3、设置 RCLOAD 自动启动

mv rcloned /etc/init.d/rcloned

chmod +x /etc/init.d/rcloned

chkconfig rcloned on

bash /etc/init.d/rcloned start

4、给 ARIA2 添加下载完成移动到网盘脚本

cd /root/.aria2/

wget -N –no-check-certificate http://pan1.pan.94p.net/%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%8E%AF%E5%A2%83/sh/move.sh

chmod +x move.sh

echo “on-download-complete=/root/.aria2/move.sh” >>aria2.conf

注意:如果你的目录和教程中不一样请在 move.sh 中设定

RCLOAD 启动停止命令

bash /etc/init.d/rcloned start

bash /etc/init.d/rcloned stop

查看挂载磁盘

df -h

如果出现硬盘,就大功告成啦!

五、附上部分命令

(比较乱,将就看)

设置

  • rclone config 进入交互式配置选项,进行添加、删除、管理网盘等操作。
  • rclone config file 显示配置文件的路径,一般配置文件在 /$HOME/.config/rclone/rclone.conf
  • rclone config show 显示配置文件信息

谷歌云盘对拷

可以实现两个 Google Drive 之间对拷备份文件,不占用硬盘。毕竟大家的 gdrive 来源都是你懂得,担心不稳,可以多个 google drive 多存几份。在新建好 rclone 的配置文件后,使用以下命令即可:

rclone copy gdrive1: gdrive2:

本地数据备份

自己 VPS 上的网站数据想备份到其他 VPS 或者网盘内,其实也很简单。在建立好 rclone 的配置文件后,使用以下命令即可:

rclone sync /本地绝对路径 dest:path

小技巧

复用

rclone 配置文件存储位置~/.config/rclone/rclone.conf,可以保存里面的内容,在新电脑上直接用这个配置文件即可

详细使用

操作命令

rclone 命令的语法格式:

Syntax: [options] subcommand <parameters> <parameters...>

常用的 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 config

开启一个交互式的配置会话。命令格式如下:

rclone config

rclone copy

将文件从源复制到目的地址,跳过已复制完成的。命令格式如下:

rclone copy source:sourcepath dest:destpsth

说明:

rclone copy 复制总是指定路径下的数据;而不是当前目录。
–no-traverse 标志用于控制是否列出目的地址目录。

rclone sync

rclone sync source:path dest:path

说明:

同步数据时,可能会删除目的地址的数据;建议先使用–dry-run 标志来检查要复制、删除的数据。
同步数据出错时,不会删除任何目的地址的数据。
rclone sync 同步的始终是 path 目录下的数据,而不是path目录。(空目录将不会被同步)

rclone move

rclone move source:path dest:path

说明:

同步数据时,可能会删除目的地址的数据;建议先使用–dry-run标志来检查要复制、删除的数据。

rclone purge

清空 path 目录和数据。命令格式如下:

rclone purge remote:path

说明:

此命令,include/exclude 过滤器失效。
删除 path 目录下部分数据,请使用 rclone delete 命令

rclone mkdir

创建 path 目录。命令格式如下:

rclone mkdir remote:path

rclone rmdir

删除一个空目录。命令格式如下:

rclone rmdir remote:path

说明:

不能删除非空的目录,删除非空目录请使用 rclone purge

rclone check

检查源和目标地址文件是否匹配。命令格式如下:

rclone check source:path dest:path

说明:

–size-only 标志用于指定,只比较大小,不比较 MD5SUMs

rclone ls

列出指定 path 下,所有的文件以及文件大小和路径。命令格式如下:

rclone ls remote:path

rclone lsd

列出指定 path 下,所有目录、容器、桶。命令格式如下:

rclone lsd remote:path

rclone delete

删除指定目录的内容。命令格式如下:

rclone delete remote:path

说明:

不同于 rclone purgerclone delete 可使用 include/exclude 过滤器选择删除文件内容。

一些例子:

删除文件大小大于 100M 的文件

# 先检查哪些文件将被删除
rclone --min-size 100M lsl remote:path                  # 使用rclone lsl 列出大于100M的文件
rclone --dry-run --min-size 100M delete remote:path    # 使用--dry-run 检查将要被删除的文件
# 使用 rclone delete 进行文件删除
rclone --min-size 100M delete remote:path

rclone size

获取指定 path 下所有数据文件的总大小。命令格式如下:

rclone size remote:path

更多

更多 rclone 命令,详见http://rclone.org/commands/

没有账号? 忘记密码?
网站地图