(开放FTP webdav等)centos利用rclone挂载Googledrive、onedrive当硬盘且利用Aria2离线下载后自动转移附部分rclone命令

  1. 安装 ARIA2
    1. 安装命令
  2. 安装 rclone
  3. vps 安装和配置 rclone
  4. 设置自启动挂载脚本
  5. 附上部分命令
    1. 设置
    2. 按文件大小删除
    3. 按日期删除
  6. 使用 rclone delete 进行文件删除

安装 ARIA2

安装命令

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

unzip 命令

yum install zip unzip

wget 命令

yum -y install wget
mkdir /home/Download
wget -N –no-check-certificate <http://pan1.pan>."***".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″}

我们所需要的就是下面绿色区域中间的内容 {“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>."***".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 自动启动(脚本必须放到/etc/init.d/中)

mv rcloned /etc/init.d/rcloned
chmod +x /etc/init.d/rcloned
chkconfig rcloned on

#dabian中是sysv-rc-conf代替了(apt install sysv-rc-conf)

#sysv-rc-conf打开操作界面, “X”表示开启该服务。 用Ctrl+N翻下一页,用Ctrl+P翻上一页,用Q退出。

bash /etc/init.d/rcloned start

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

cd /root/.aria2/
wget -N –no-check-certificate <http://pan1.pan>."***".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

注意:

如果发现无法转移,请去aria2.conf中查看最后一句是否含有引号,有则删除然后重启Aria2

如果你的目录和教程中不一样请在 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 purge,rclone 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 backup:/备份/ --min-age 10d
#这个命令会删除backup:/git备份/actions中所有10天前的文件。请注意,rclone delete命令只会删除文件,不会删除空的目录。如果你也想删除空的目录,你可以添加--rmdirs选项:

rclone delete backup:/备份/ --min-age 10d --rmdirs

使用 rclone delete 进行文件删除

rclone --min-size 100M delete remote:path

rclone size

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

rclone size remote:path

rclone serve

rclone serve 可以将挂载的项目空间转化成http ftp webdav smb等等协议

rclone serve ftp path: –addr 10.10.10.10:21 –user 账号 –pass 密码

```jsx
rclone serve ftp path: --addr 10.10.10.10:21 --user 账号 --pass 密码
rclone serve http path: --addr 10.10.10.10:8888
rclone serve webdav path: --addr 10.10.10.10:8888

PS:bt机器rc.local自启动【1.53.3】:

sleep 5
nohup rclone serve ftp apple_cms1: --addr 10.10.10.10:8881 --user 用户名 --pass 密码 >/log/apple_cms1.log 2>&1 &
sleep 5
nohup rclone serve ftp tuchuang1: --addr 10.10.10.10:8882 --user 用户名 --pass 密码 >/log/tuchuang1.log 2>&1 &
sleep 5
nohup rclone serve ftp b2-588file: --addr 10.10.10.10:8883 --user root --pass 密码 >/log/rclone_ftp_b2-588file.log 2>&1 &
leep 5
nohup rclone serve ftp od-588-1: --addr 10.10.10.10:8884 --user root --pass 密码 >/log/rclone_ftp_od-588-1.log 2>&1 &
leep 5
nohup rclone serve ftp tuchuang2: --addr 10.10.10.10:8885 --user root --pass 密码 >/log/rclone_ftp_tuchuang2.log 2>&1 &


## 开启官方GUI管理界面


```shell
rclone rcd --rc-web-gui

这个命令会下载并在Web浏览器中显示GUI1。

此外,还有一个名为Rclone Browser的开源项目,它提供了一个跨平台的GUI,可以让你更方便地使用rclone管理和同步云存储上的数据

💡 serve命令相关文档:https://rclone.org/commands/rclone_serve_ftp/
更多 rclone 命令,详见http://rclone.org/commands/


欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。

×

喜欢就点赞,疼爱就打赏

//