rclone sync 实现VPS之间同步备份


现况:有两台相同配置的VPS,一台在美西A,一台在香港B,都安装了网盘系统。

想要实现:A作为主网盘服务器,B作为备份。实现A网盘存储的数据定时增量备份到B。

那么我们可以通过使用rclone命令来操作。

首先确保两台服务器均已安装FTP服务并设置好FTP的账号和密码。

ps:可以安装Pure-Ftpd.为方便管理,可在两台服务器上提前安装好宝塔面板。
以下命令均在A服务器上操作!!!

1.一键安装rclone

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

2.设置rclone

rclone config

3.新建一个rclone,起名为remote,然后选择FTP的代码,我当前的版本显示的是Storage> 15

No remotes found, make a new one?
n) New remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
n/r/c/s/q> n
name> remote
Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
[snip]
XX / FTP
   \ "ftp"

host>这里输入B的IP

user>这里输入FTP的账号

port> 这里可以默认,按回车键

FTP password
y) Yes type in my own password
g) Generate random password
y/g> y
Enter the password:
password:这里输入FTP账号的密码
Confirm the password:
password:再输入一次

----------其他都是默认回车

y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> 这里输入y

最后输入q退出

4.创建或选择B的目录。ps:此步骤仍然是在A上操作

rclone mkdir remote:/www/wwwroot

上面表示的是,要在B的哪个目录同步。/是根目录,如果你的FTP账号权限是在网站的根目录,那就要在网站根目录里找。

5.同步到远程目录,自动对比,使B目录中的文件与A上面的保持一致。

rclone sync /www/wwwroot remote:/www/wwwroot

这条命令是将A本地的/www/wwwroot目录同步到B的目录。

通过以上设置,无论A目录里是新增还是删除文件,B目录里的文件始终保持和A一致。

6.设置定时同步。

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

任务类型:Shell脚本

任务名称:随便填,比如填备份到B

执行周期:可以自行设置,比如我设置的是每天2点备份一次

脚本内容:

#!/bin/bash
rclone sync /www/wwwroot remote:/www/wwwroot

到此,配置全部结束。