我有一项任务是在位于两个不同地理位置的生产服务器和登台服务器之间创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将不起作用。