rsync文件实时同步|linux中如何使用rsync进行两台linux的文件同步求详解

rsync文件实时同步|linux中如何使用rsync进行两台linux的文件同步求详解的第1张示图

1. 如何使用Rsync在本地和远程系统之间同步文件

要同步两个系统上的网络或本地系统上的两个目录之间的文件。我们需要定义源和目标位置。源和目标可以是本地目录或远程系统目录。 本地目录可以直接引用,如文件系统(例如:/opt/mydir , /var/www/html 等等)。 定义远程目录,我们需要IP地址或用户的登录信息远程系统的主机名。我们可以定义远程位置一样 [email protected]:/opt/mydir 。请记住,源和目的地既不能为远程位置。$ rsync [OPTION] [SOURCE] [DESTINATION]例子:本地同步远程:例如,要同步所有本地系统文件下的/opt/mydir到远程服务器10.10.0.100 /opt/remotedir目录。$ rsync -a /opt/mydir [email protected]:/opt/remotedir远程同步到本地:例如对所有远程服务器上10.10.0.100同步到/opt/remotedir目录到本地系统/opt/MYDIR 目录$ rsync -a [email protected]:/opt/remotedir /opt/mydir

2. 如何提高rsync同步效率

为了解决文件增多导致rsync变慢的问题,方案是很多的.1、使源目录保存较少文件这是一个传统优化办法,因为rsync虽然是同步所有文件,但和同步最近更新的文件是一个道理,因此将源服务器上的目录删除,仅仅保持最近更新的文件,文件数量就变得不但很少,而且是稳定的,随着时间推移,这数量也不会涨得很快.但这样做有个缺点,就是rsync不能使用删除模式,如果有文件要删除,可以将其弄成空文件,假如有更严格要求,可以另一个程序来删除.2、使用/dev/shm内存分区在源目录保持较少文件的前提下,将文件不存在硬盘上而放入内存,就可以避免系统IO带来的问题,但是这个内存分区在系统reboot后会丢掉所有数据,虽然并不常常需要reboot,但是其中的风险也需要计算清楚.3、使用推送方式因为性能问题是出现在rsync的客户端,用生产服务器抓取源服务器的话,性能问题就会出现在生产服务器上,这当然不很妥当.假如在生产服务器上使用 rsync daemon,源服务器执行rsync命令将文件推送到生产服务器上,性能问题就转移到了源服务器上,这在一定程度可以保证生产服务器的稳定性.4、仅用一台作同步比较假如源服务器的文件要被同步到很多台生产服务器,那么会出现rsync并发.可以分析到这些生产服务器在同一时刻文件是一致的,因此每台机都和源服务器做一次比较就是浪费的.这时可以让源服务器和生产服务器同步一次,并且使用-v参数打印出log,其它生产服务器通过同步这个log记录的文件就可以避免数次比较过程.5、使用inotifyinotify就不是rsync了,inotify是一个守护进程,它可以监控到文件目录下的文件变动情况,根据其输出然后用rsync做文件传输,就可以减掉文件比较这个环节.inotify使用并不复杂,对文件变更情况的监控是实时的,也不消耗很多性能.6、双路同步以上均是对rsync性能方面做优化,但是优化也会带来问题.在3、4、5号方案中,假如生产服务器有一台机器因为负载或其它问题reboot了,在 reboot过程中同步就失败了,这部分失败的文件假如没有其它处理,就永远不会再同步到生产服务器上.这时可以使用多一路rsync来处理,譬如使用 inotify,做到了实时同步,然后再每小时进行一次完整的rsync同步.这样就可以保证有很高的同步速度,又能使丢失文件的风险控制在一小时之内.

3. linux中如何使用rsync进行两台linux的文件同步,求详解。

没有比文档更详细的了http://linux.die.net/man/1/rsync如果只是想做简单的文件(夹)同步,使用回rsync -az /you/file/path [email protected]:/rsync/file/to/path其他一些常用rsync命令可答以参考http://www.tecmint.com/rsync-local-remote-file-synchronization-commands/rsync默认使用差量传输技术,只传输差量数据

4. cwrsync server 怎么做到实时同步

rsync error: error starting client-server protocol…还是不行! 有没有别的办法? 如果断一次电的话服务…rsync实现:多服务器镜像同步 完整的电子版的配置过程…

5. rsync什么情况下会同步文件

-v, –verbose 详细模式输出 -a, –archive 归档模式,表示以递归方式传输文件,并保持所有文件属性,等于-rlptgoD -r, –recursive 对子目录以递归模式处理 -l, –links 保留软链结 -p, –perms 保持文件权限 -t, –times 保持文件时间信息 -g, –group 保持文件属组信息 -o, –owner 保持文件属主信息 -D, –devices 保持设备文件信息 -z, –compress 对备份的文件在传输时进行压缩处理 -u, –update 仅仅进行更新,也就是跳过所有已经存在于DST,并且文件时间晚于要备份的文件。(不覆盖更新的文件) 下面对以下几种不同步情况进行测试:

1,如果A机文件时间比B机文件时间新,则A会同步文件到B。

2,如果A杋文件时间比B机文件时间旧,则A不同步文件到B。

3,如果B机文件属主,属组不同于A机,并且A机文件时间不比B机文件时间旧,则会更新B机文件的属主,属组,但不重新同步文件。

4,如果B机文件属主,属组不同于A机,并且A机文件时间比B机文件时间旧,则不会更新B机文件的属主,属组,也不重新同步文件。

5,如果B机文件权限不同于A机,并且A机文件时间不比B机文件时间旧,则会更新B机文件的权限,但不重新同步文件。

6,如果B机文件权限不同于A机,并且A机文件时间比B机文件时间旧,则不会更新B机文件的权限,也不重新同步文件。

7,即使A机与B机文件内容(大小)不一样,如果B机文件比A机文件新,也不会同步。 综上可以看出,以vazu这组参数运行rsync时,是以时间为最优先,只有更新的文件才同步文件;如果只是属主属组,权限的不同, 则不重新同步文件,而是仅更新这些属性,前提是A机的时间不比B机的时间旧。

6. 如何将rsync同步日志文件每天定时发送到我

1、要确定系统本身是否已经绑定(安装)了Rsync,可以到/usr/bin ,/usr/local/bin/ 或者 /usr/sbin/ 等目录下查找 Rsync是否存在,或者使用 whereis rsync,也行。2、已绑定了Rsync的系统,在 /etc/xinetd.d/rsync 中,默认是关闭的。可以将其打开,然后 重起服务 service xinted restart3、如果系统本身已安装了,那就不需要再安装,如果需要升级Rsync版本,只需按照正常的安装步骤安装即可。4、rsync默认绑定的是873端口,如果rsync已经作为后台进程启动了,那么通过netstat –nap|grep 873 应该可以查看到有rsync 进程。

7. linux rsync为什么只同步新增的文件,原有的文件不同步

可以的,只要在命令参数那边添加–delete /usr/bin/rsync -vlzrtogp –progress –delete [email protected]::test –password-file=/root/192.168.1.115 /root/2013/ 但是这个加上去就是一个危险的命令,需要先虚拟机测试下然后再贴到实际环境…

8. linux下使用rsync同步文件时、如何判断单个或某个文件同步是否成功

$? 是指上一个命令的结果。如果上一个命令是rsync,就是该命令的结果。如果rsync是用于一个directory, 如果成功当然是所有的文件都成功;似乎没有办法判断某一特定文件。除非rsync是仅用于该文件。

9. 求个shell脚本 我通过rsync 做了文件同步,5分钟同步一次,如果文件大同步的进程就多了。

#!/bin/bashps -fe|grep rsync |grep -v grepif [ $? == 1 ]thenrsync XXXelseecho No need to do rsyncfi然后设置crontab,每5分钟执行一遍

未经允许不得转载:山九号 » rsync文件实时同步|linux中如何使用rsync进行两台linux的文件同步求详解

赞 (0)