在我们现在身处的时代中,数据已经成为了我们工作生活中不可或缺的一部分。数据的同步就像是通讯的基础,它不仅可以帮助我们保存、分析和传输信息,还能把我们工作生活中的各种应用连接起来。在许多情况下,我们需要使用服务器来完成这个任务。那么,服务器之间怎么同步数据呢?在这篇文章中,我们将深入讨论这个话题。

想要在不同的服务器之间同步数据,我们需要找到合适的方法,对此,我们将向大家介绍2种不同的服务器数据同步方案,分别是:Rsync工具和傲梅企业备份标准版。

通过Rsync同步服务器数据

Rsync(Remote sync)是一个远程数据同步工具,兼容unix/Linux/windows等多种平台,可通过LAN/WAN快速执行两台服务器数据同步任务。

Rsync同步服务器数

Rsync可以搭配rsh或ssh甚至使用daemon模式。Rsync server会打开一个873的服务端口(port),等待对方 Rsync 连接。连接时,Rsync server会检查口令是否相符,若通过口令查核,则可以开始进行文件传输。第一次连通完成时,会把整份文件传输一次,下一次就只传送二个文件之间不同的部份,所以也算是一个不错的同步方案。

那么在Rsync工具的帮助下,服务器之间怎么同步数据呢?接下来我们将分别以daemon形式和ssh方式来同步VPS服务器上的项目目录/opt/www到阿里云服务器目录/opt/www为例,向大家演示演示操作流程。

采用daemon方式运行Rsync

配置Rsync服务

编辑/etc/xinetd.d/rsync文件,修改disable=yes为disable=no,/etc/xinetd.d/rsync内容如下:

# default: off
# description: The rsync server is a good addition to an ftp server, as it \
#	allows crc checksumming etc.
service rsync
{
    disable	= no
    flags		= IPv6
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/rsync
    server_args     = --daemon
    log_on_failure  += USERID
}

重启xinetd服务:

/etc/init.d/xinetd restart

创建Rsync服务配置文件

创建/etc/rsyncd.conf配置文件,并添加如下内容:

uid=root  #指定当模块传输文件的守护进程UID
gid=root  #指定当模块传输文件的守护进程GID
max connections=10 #最大并发连接数
log file=/var/log/rsyncd.log  #rsync 服务器的日志
pid file=/var/run/rsyncd.pid  #指定PID文件
lock file=/var/run/rsyncd.lock  #指定支持max connection的锁文件,默认为/var/run/rsyncd.lock
secrets file=/etc/rsyncd.passwd #验证密码文件
hosts deny=104.128.82.150/22   #禁止连接的IP
                
[www]
comment = backup web # 备注
path = /opt/www #用来指定要备份的目录
read only = no   #设置no,客户端可以上传文件,yes是只读
write only = no   #no为客户端可以下载,yes不能下载
list = true   #客户请求时,使用模块列表
exclude = node_modules # 排除的目录
auth users = aliyun #连接用户名,和linux系统用户名无关系

创建密码文件,采用这种方式不能使用系统用户对客户端进行认证,所以需要创建一个密码文件,其格式为 username:password,用户名需要同 /etc/rsyncd.conf 文件中定义的 auth users 一致,密码可以随便定义,同时需要把创建的密码文件权限设置为 600,运行如下命令:

echo "aliyun:abc123" > /etc/rsyncd.passwd
chmod 600 /etc/rsyncd.passwd

运行同步命令

接下来就开始执行两台服务器数据同步任务,例如需要同步VPS服务器上的项目目录/opt/www下所有文件到阿里云服务器目录/opt/www下,命令如下:

rsync -avz --progress --delete aliyun@104.128.82.150::www /opt/www

然后输入密码,然后会开始在服务器之间同步数据,控制台会输出下面内容:

Password:
receiving incremental file list
./
https_bak.conf
        3972 100%    3.79MB/s    0:00:00 (xfer#1, to-check=1012/1014)
AiChat/
AiChat/.env
        92 100%   89.84kB/s    0:00:00 (xfer#2, to-check=1013/1024)
...

在此之后您只需要耐心等待同步完成即可,然后显示如下内容:

...
sent 1015272 bytes  received 298798817 bytes  42523.81 bytes/sec
total size is 671578940  speedup is 2.24

注意:aliyun@104.128.82.150::www中的www为/etc/rsyncd.conf配置文件中添加的 模块名称- www。

采用ssh方式运行Rsync

除了上面的daemon方式之外,我们还可以通过ssh方式来直接运行Rsync,无需任何配置。

注意:如果没有配置过免密登录的话,则需要输入远程服务器ssh登录密码。

rsync -avz --progress --delete root@47.95.247.149:/opt/www/ /opt/www

通过傲梅企业备份标准版同步服务器数据

从上文中我们可以看出,Rsync可以帮助我们完成两台服务器数据同步任务,但是操作方法略显复杂,并且采用命令行的方式学习门槛也比较高,普通用户可能上手难度比较高。

如果您需要同步数据的两台服务器处于相同局域网下,并且想要以一种更加简单的方式来在不同服务器之间同步数据的话,不妨试试傲梅企业备份标准版。它是一个专业的服务器数据同步工具,支持多种同步方案,允许创建定时同步任务自动执行,能够免除繁琐的人工反复手动操作,节省更多时间精力。

如果您想试试的话可以点击下方按钮进入下载中心下载安装傲梅企业备份标准版,然后跟着我们的演示教程一起看看相同局域网下的不同服务器之间怎么同步数据吧!

步骤1. 打开傲梅企业备份标准版,在主界面中点击“同步”>“实时同步”(如果您有其他同步方案的话,也可以自行选择其他的基本同步、镜像同步或双向同步,操作方法都是类似的)。

实时同步
 
  • 基本同步:将源目录中的文件同步到目标目录中。
  • 镜像同步:始终保持目标目录中的文件和源目录完全一致,任何新添加或修改的文件都将在下次执行同步任务时被删除或覆盖。
  • 双向同步:任何一边目录文件发生变化,都会以镜像同步的方式将文件同步到另一边,比如源目录中修改过的文件将同步到目标目录,反之亦然。

步骤2. 点击“添加目录”以选择您想要同步的源数据。

选择源数据
 

步骤3. 点击下方长条框以选择您的另一台服务器上的网络路径作为目标位置,然后点击右下角的“开始同步”按钮即可创建并执行两台服务器数据同步任务,每当检测到源文件夹中的数据发生任何变动,都将自动将其同步到目标服务器上的指定位置,非常方便。

选择目标位置
 

注意:在创建完同步任务之后,请注意不要更改源位置或目标位置的文件夹名称,否则会导致后续的同步任务执行失败。

结论

本文针对不同的Windows Server服务器之间怎么同步数据问题,向大家介绍了2种不同的数据同步解决方案,大家可以按照自身实际情况来选择Rsync或傲梅企业备份标准版,希望本文能够对大家有所帮助!

傲梅企业备份标准版除了同步功能强之外,还集成了许多其他的实用特性,比如克隆服务器数据、备份服务器磁盘、创建定时备份任务、部署系统镜像、制作便携版本等,是一个很不错的服务器数据保护工具,大家感兴趣的话可以下载试用试用。