我有一项任务是在位于两个不同地理位置的生产服务器和登台服务器之间创build被动同步。
该环境完全基于Linux(CentOS / RHEL),要同步的数据大小约为每天1.5GB,且每天只有一次。
我select的方法是rsync
。
要同步的源目录驻留在名为“pg4”的CentOS数据库服务器上,该服务器已将NFS安装共享到同一LAN中的另一台服务器,我们将其他服务器称为“mass1”。
我的想法是在'mass1'上创buildrsync
的cron
作业,并将文件从那里推送到全球各地的目标服务器上,以便完成任务。
给我这个任务的DBA坚持认为rsync
cron
作业应该直接在数据库服务器'pg4'上configuration,而不是在数据所在的服务器上,而是保存挂载到要同步的文件夹。
我的问题是:
如果我在那里configurationcron
作业, rsync
会先将数据复制到“pg4”服务器,然后再复制到目标服务器上? 或者它会直接从'mass1'服务器执行rsync
?
我认为从逻辑上来说,在'mass1'服务器上configurationcron
作业是正确的方法,你认为如何?
提前致谢
我所了解的是你的情况:
数据在第4 pg4
,应该remote
服务器。 你有在mass1
上通过NFS装载数据的目录。
这是会发生的事情:
mass1
上运行rsync
,例如rsync -av /mnt/pg4/data user@remote:/data
,那么数据将被复制到每个NFS到mass1
,然后通过rsync
复制到remote
。 pg4
上的rsync
直接运行到remote
,例如。 使用rsync -av /data user@remote:/data
,不会将其复制到另一台服务器,而是直接复制到remote
。 rsync
不能复制两端都是远程的,所以rsync -av user@pg4:/data user@remote:/data
mass1
rsync -av user@pg4:/data user@remote:/data
将不起作用。