Rclone: 好用的云盘 / VPS 数据同步、备份工具,支持 Google Drive,OneDrive

简介

  1. Amazon Drive
  2. Amazon S3
  3. Backblaze B2
  4. Box
  5. Ceph
  6. DigitalOcean Spaces
  7. Dreamhost
  8. Dropbox
  9. FTP
  10. Google Cloud Storage
  11. Google Drive
  12. HTTP
  13. Hubic
  14. IBM COS S3
  15. Memset Memstore
  16. Mega
  17. Microsoft Azure Blob Storage
  18. Microsoft OneDrive
  19. Minio
  20. Nextloud
  21. OVH
  22. Openstack Swift
  23. Oracle Cloud Storage
  24. ownCloud
  25. pCloud
  26. put.io
  27. QingStor
  28. Rackspace Cloud Files
  29. SFTP
  30. Wasabi
  31. WebDAV
  32. Yandex Disk
  33. The local filesystem

安装

脚本安装

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

二进制安装

wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*

配置

rclone config

以OneDrive为例

首先获取客户端授权

下载windows客户端

解压后得到

**然后打开CMD命令行
在当前目录 执行命令**

rclone authorize "onedrive"

选择是个人版还是商业版

跳转授权

显示成功

得到access_token
把下图所示的内容(即{"access_token"xxxxxx} 一整块内容)都复制到文本编辑器记下来,后面需要用到:

新建配置

选择Onedrive 输入name

配置result

完整过程

n) New remote
s) Set configuration password
q) Quit config
n/s/q> n
name> test #可以随便填,但后面要用到
Type of storage to configure.
Choose a number from below, or type in your own value
 1 / Amazon Drive
 \ "amazon cloud drive"
 2 / Amazon S3 (also Dreamhost, Ceph, Minio)
 \ "s3"
 3 / Backblaze B2
 \ "b2"
 4 / Box
 \ "box"
 5 / Cache a remote
 \ "cache"
 6 / Dropbox
 \ "dropbox"
 7 / Encrypt/Decrypt a remote
 \ "crypt"
 8 / FTP Connection
 \ "ftp"
 9 / Google Cloud Storage (this is not Google Drive)
 \ "google cloud storage"
10 / Google Drive
 \ "drive"
11 / Hubic
 \ "hubic"
12 / Local Disk
 \ "local"
13 / Microsoft Azure Blob Storage
 \ "azureblob"
14 / Microsoft OneDrive
 \ "onedrive"
15 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
 \ "swift"
16 / Pcloud
 \ "pcloud"
17 / QingCloud Object Storage
 \ "qingstor"
18 / SSH/SFTP Connection
 \ "sftp"
19 / Webdav
 \ "webdav"
20 / Yandex Disk
 \ "yandex"
21 / http Connection
 \ "http"
Storage> 14 #选择14,Microsoft OneDrive
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> p #这里选择个人版,你想挂载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":""} #输入在上一步获取的客户端授权的内容
--------------------
[Rats]
client_id = 
client_secret = 
token = {"access_token":""}
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y 选择y
Current remotes:

Name Type
==== ====
testonedrive

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退出

挂载

注意:挂载前需要安装fuse,否则无法挂载

# centos/redhat
yum install fuse -y
# debian/ubuntu
apt-get install fuse -y

#新建本地文件夹,我创建的是/root/OneDrive ,路径可以你自己定, 也就是下面的LocalFolder
mkdir -p /root/OneDrive

#挂载为磁盘的命令如下
rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

其中DriveName为初始化配置填的nameFolder为OneDrive里的文件夹(你可以在OneDrive手动创建一个文件夹),LocalFolder即为VPS上的本地文件夹路径。由于我在初始化配置填的name是one,本地创建的挂载目录是/root/OneDrive ,在OneDrive创建的文件夹是share, 所以我的VPS里执行的挂载命令如下:

rclone mount one:share /root/OneDrive --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

挂载成功后稍等几分钟
挂载成功后,输入df -h命令查看就可以看到VPS已经挂载上OneDrive硬盘了:

卸载磁盘命令

fusermount -qzu LocalFolder

自启动

wget –N —no–check–certificate https://raw.githubusercontent.com/xiaoweihuangccc/rclone/master/rcloned.sh

# 修改一下
NAME="test" #rclone name名,及配置时输入的Name 
REMOTE='cloudcone' #远程文件夹,OneDrive网盘里的挂载的一个文件夹 
LOCAL='/root/OneDrive' #挂载地址,VPS本地挂载目录

#执行以下以自启动
mv rcloned.sh rcloned
mv rcloned /etc/init.d/rcloned 
chmod +x /etc/init.d/rcloned
chkconfig --level 345 rcloned on
bash /etc/init.d/rcloned start

执行完后会提示,rclone启动成功或者 rclone正在运行…

至此,配置已完成

常用命令

语法:

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

常用命令:

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 命令,详见 http://rclone.org/commands/

微信打赏微信打赏
支付宝打赏支付宝打赏

评论: