安装 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 配置与使用指南
配置管理
- rclone config: 进入交互式配置选项,进行添加、删除、管理网盘等操作。
- rclone config file: 显示配置文件的路径,一般配置文件在
/$HOME/.config/rclone/rclone.conf
。 - rclone config show: 显示配置文件信息。
谷歌云盘对拷
可以实现两个 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 delete remote:path --max-size 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 密码
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管理界面
rclone rcd --rc-web-gui
这个命令会下载并在Web浏览器中显示GUI1。
rclone serve参数
### Server Options
- **`-addr string`**: 指定服务器绑定的 IP 地址和端口。例如 `-addr 1.2.3.4:8000` 或 `-addr :8080` 监听所有 IP。默认只监听 localhost。可以使用端口 `:0` 让操作系统选择可用端口。
### Authentication
- **`-user string`**: 设置用于身份验证的用户名。默认是 `anonymous`。
- **`-pass string`**: 设置用于身份验证的密码。空值允许任何密码。
### VFS - Virtual File System
- **`-dir-cache-time duration`**: 控制目录条目在缓存中保留的时间。默认是 `5m0s`(5 分钟)。
- **`-poll-interval duration`**: 轮询更改的时间间隔。必须小于 `-dir-cache-time`。仅在支持的远程存储上有效。设置为 `0` 以禁用。默认是 `1m0s`(1 分钟)。
- **`-no-checksum`**: 上传/下载时不比较校验和。
- **`-no-modtime`**: 不读/写修改时间(可以加快操作速度)。
- **`-no-seek`**: 不允许在文件中查找。
- **`-read-only`**: 只读挂载。
### VFS File Buffering
- **`-buffer-size SizeSuffix`**: 确定用于预缓冲数据的内存量。每个打开的文件将尝试在内存中保持指定量的数据。默认是 `128M`。
### VFS File Caching
- **`-cache-dir string`**: 指定 rclone 用于缓存的目录。
- **`-vfs-cache-mode CacheMode`**: 控制 VFS 缓存模式。可选值为 `off`、`minimal`、`writes`、`full`。默认是 `off`。
- **`-vfs-cache-max-age duration`**: 缓存对象的最大年龄。默认是 `1h0m0s`(1 小时)。
- **`-vfs-cache-max-size SizeSuffix`**: 缓存对象的最大总大小。默认是 `off`。
- **`-vfs-cache-poll-interval duration`**: 轮询缓存中过期对象的时间间隔。默认是 `1m0s`(1 分钟)。
- **`-vfs-write-back duration`**: 使用缓存时,文件在最后一次使用后写回的时间。默认是 `5s`(5 秒)。
### VFS Performance
- **`-vfs-read-ahead SizeSuffix`**: 使用缓存模式 `full` 时,额外读取超过 `-buffer-size` 的数据。
- **`-vfs-read-chunk-size SizeSuffix`**: 读取源对象的块大小。默认是 `128M`。
- **`-vfs-read-chunk-size-limit SizeSuffix`**: 如果大于 `-vfs-read-chunk-size`,则在每次读取块后将块大小加倍,直到达到限制。`off` 表示无限制。默认是 `off`。
- **`-vfs-read-wait duration`**: 在查找前等待顺序读取的时间。默认是 `20ms`。
- **`-vfs-write-wait duration`**: 在给出错误前等待顺序写入的时间。默认是 `1s`(1 秒)。
### VFS Case Sensitivity
- **`-vfs-case-insensitive`**: 如果文件名未找到,查找不区分大小写的匹配项。默认值取决于操作系统:Windows 和 macOS 为 `true`,其他为 `false`。
### Auth Proxy
- **`-auth-proxy string`**: 指定一个程序,用于根据身份验证动态生成后端配置。
### FTP Server Options
- **`-passive-port string`**: 使用的被动端口范围。默认是 `30000-32000`。
- **`-public-ip string`**: 为被动连接广告的公共 IP 地址。
- **`-dir-perms FileMode`**: 目录权限。默认是 `0777`。
- **`-file-perms FileMode`**: 文件权限。默认是 `0666`。
- **`-gid uint32`**: 覆盖文件系统设置的 gid 字段。
- **`-uid uint32`**: 覆盖文件系统设置的 uid 字段。
- **`-umask int`**: 覆盖文件系统设置的权限位。默认是 `18`。
### Usage
```shell
rclone serve ftp remote:path [flags]
```
此外,还有一个名为Rclone Browser的开源项目,它提供了一个跨平台的GUI,可以让你更方便地使用rclone管理和同步云存储上的数据
💡 serve命令相关文档:https://rclone.org/commands/rclone_serve_ftp/
更多 rclone 命令,详见http://rclone.org/commands/
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。