用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

Rclone 是一款的命令行工具,支持在不同对象存储、网盘间同步、上传、下载数据。 它能够将你的网盘挂载到服务器上,像使用本地硬盘一样使用网盘。 Rclone 支持很多品牌的网盘,具体列表如下

  • 1Fichier
  • Alibaba Cloud (Aliyun) Object Storage System (OSS)
  • Amazon Drive (See note)
  • Amazon S3
  • Backblaze B2
  • Box
  • Ceph
  • Citrix ShareFile
  • C14
  • DigitalOcean Spaces
  • Dreamhost
  • Dropbox
  • Enterprise File Fabric
  • FTP
  • Google Cloud Storage
  • Google Drive
  • Google Photos
  • HDFS
  • HTTP
  • Hubic
  • Jottacloud
  • IBM COS S3
  • Koofr
  • Mail.ru Cloud
  • Memset Memstre
  • Mega
  • Memory
  • Microsoft Azure Blob Storage
  • Microsoft OneDrive
  • Minio
  • Nextcloud
  • OVH
  • OpnDrive
  • OpenStack Swift
  • Oracle Cloud Storage
  • ownCloud
  • pCloud
  • premiumize.me
  • put.io
  • QingSor
  • Rackspace Cloud Files
  • rsync.net
  • Scaleway
  • Seafile
  • SeaweedFS
  • SFTP
  • StackPath
  • SugarSync
  • Tardigrade
  • Tencent Cloud Object Storage (COS)
  • Uptobox
  • Wasabi
  • WebDAV
  • Yandex Disk
  • Zoho WorkDrive
  • The local filesystem

操作命令

rclone命令的语法格式:

1Syntax: [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

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

1rclone config

rclone copy

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

1rclone copy source:sourcepath dest:destpsth

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

rclone sync

1rclone sync source:path dest:path

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

rclone move

1rclone move source:path dest:path

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

rclone purge

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

1rclone purge remote:path

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

rclone mkdir

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

1rclone mkdir remote:path

rclone rmdir

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

1rclone rmdir remote:path

注:
1、不能删除非空的目录,删除非空目录请使用 rclone purge。

rclone check

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

1rclone check source:path dest:path

注:
1、–size-only标志用于指定,只比较大小,不比较MD5SUMs。

rclone ls

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

1rclone ls remote:path

rclone lsd

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

1rclone lsd remote:path

rclone delete

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

1rclone delete remote:path

注:
1、不同于rclone purge,rclone delete 可使用 include/exclude 过滤器选择删除文件内容。
eg:
删除文件大小大于100M的文件

123456# 先检查哪些文件将被删除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下所有数据文件的总大小。命令格式如下:

1rclone size remote:path

安装和事先准备

在本地提前获取tocken

在本地Windows电脑上下载rclone(点这里下载

然后解压出来,进到解压出来的文件夹位置。

在文件浏览器的地址栏输入cmd,打开cmd窗口:

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

之后在cmd窗口中执行

rclone authorize "onedrive"

之后按照提示操作获得tocken(复制下来,等会要用

在服务器上安装Rclone

ssh到你的服务器,执行以下命令来安装最新版的Rclone:

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

待出现

Now run "rclone config" for setup. Check https://rclone.org/docs/ for more details.

即为安装成功,即可进入下一步进行配置

配置

执行

rclone config

弹出如下信息

2021/01/23 12:18:32 NOTICE: Config file "/root/.config/rclone/rclone.conf" not found - using defaults
No remotes found - make a new one
n) New remote
s) Set configuration password
q) Quit config
n/s/q>

输入n 选择新建

之后你提示你输入name,要全英文的,也就是你自定义一个网盘的名字,比如我写的是 myod,回车进行下一步

这里弹出很多网盘可供选择,我使用的是onedrive 所以选择 23 回车下一步

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

之后提示输入client_id和client_secret 这两项都不填写,直接回车就行

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

之后提示是否编辑高级配置,这里我们不需要,也直接选 n就行

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

又之后提示是否自动设置,这里我们服务器一般都是命令行环境,没有浏览器,选择 n

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

接下来要输入刚才复制的tocken,之后就能按照默认完成设置。

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

注意,现在新版本的rclone会多了一步让你选择你的onedrive是什么属性,很简单的英文,按照你的属性选择一个序号即可。

此外,windows和linux配置时第一步让你填写的网盘名一定要一模一样,windows上的rclone版本也要和linux一样,否则配置到最后一步输入tocken后,会出现错误。

挂载

在完成上面这些操作后,我们的配置工作已经做完,接下来只需要把云盘挂载在你想要的位置就行。

我想把我的云盘挂载在 /root/onedrive

所以我需要提前创建挂载的文件夹

之后安装 FUSE

yum install fuse 必须有fuse才能挂载,不然会报错

使用命令

rclone mount DriveName:Folder LocalFolder --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000

其中 DriveName 为第一开始填的自定义的网盘名name,如果忘记了,可以使用下面的命令来查询

rclone listremotes

Folder为你的OneDrive云盘里的文件夹,也可以直接设置为 /,LocalFolder为VPS上的本地文件夹,我这里是 /root/onedrive

至此,已经能在服务器上看到挂载的磁盘了

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例

配置定时任务同时编写自动同步配置脚本

在宝塔的计划任务中添加计划任务。

用rclone将服务器文件全自动同步到OneDrive网盘完整教程 以宝塔面板环境为例
#!/bin/bash
rclone sync /www/backup/database 自定义网盘名:backup/database
rclone sync /www/wwwroot 自定义网盘名:backup/site

脚本首行是注释,上面的脚本只包含两条命令。

第二行是将/www/backup/database目录及里面的数据库备份文件,同步到你的OneDrive云盘的backup/database文件夹里。其中自定义网盘名这个要回到最开始配置rclone的第一步你自己填写的那个英文字母名字。比如我写的是myod,那么这段代码就改成:

#!/bin/bash
rclone sync /www/backup/database myod:backup/database
rclone sync /www/wwwroot myod:backup/site

第三行是同步网站文件,我没有选择打包的文件,我选择的是直接同步wwwroot中所有的网站目录,将/www/wwwroot目录及里面的所有文件,同步到你的OneDrive云盘的backup/site文件夹里。这个根据你自己的需求修改。

以上就是利用Rclone程序,将网站和数据库备份文件同步到OneDrive网盘的教程。这样VPS服务器和网盘都有网站备份,双重备份更安全。如果你不放心,还可以每周将Onedrive网盘里的文件手动下载到本地电脑。

最后再提醒下,建议每隔一段时间去Onedrive盘查看下同步是否正常,因为即使是Rclone程序也有可能出问题的。

重点提醒的几处最容易出错,一定要记清楚:

1、windows上获取token时输入的“自定义网盘名”,与你在Linux上配置rclone时输入的“自定义网盘名”一定要一样。

2、windows上的rclone版本,一定要和Linux上的rclone版本一样。

原创文章,作者:admin,如若转载,请注明出处:https://www.ipv6s.com/soft/202209062195.html

(0)
上一篇 2022年9月5日 上午4:01
下一篇 2022年9月6日 下午6:53

相关推荐

发表回复

您的电子邮箱地址不会被公开。