图解rsync数据同步部署文档
- 格式:pdf
- 大小:2.78 MB
- 文档页数:33
巧用Rsync成功实现多台Windows工作电脑资料同步本文将介绍跟距离如何用Rsync windows 版来帮我们好好“改变一下工作,生活。
”你可以选择2种配置方法!1,一台台式电脑,一台笔记本。
2,一台服务器,一台工作站(台式电脑),一台笔记本。
其实2种配置,无非都是要符合Rsync结构里边”服务端”跟”客户端”的资料传输方式。
第一种配置,可以把台式机安装Rsync服务端,而笔记本运行客户端进行资料更新同步。
第二种配置,可以在服务器上安装Rsync服务端,另外的工作站跟笔记本使用客户端进行资料更新。
任何一种方法实现起来都挺好.但有一点要声明.我还没试过在装有VISTA操作系统的台式机上充当Rsync的服务端. 客户端就很成功.另外再说一说, 我个人现在用的是第二种配置。
如果有哪位朋友喜欢,而且想应用在生成环境中,例如公司或企业的重要资料备份以及同步. 这样我还是推荐使用专门的服务器+专门的服务器操作系统. 至少是Windows2003server 或者Linux。
如果你有条件有技术的话,Linux 是个最专业的选择哦。
好了,现在入正题。
你要准备的软件有:最新版Rsync for windows服务端:cwRsync_Server_2.1.5_Installer.zip客户端:cwRsync_2.1.5_Installer.zip还有这个是服务端的最新核心升级包:cwRsync_2.1.5_update_100.zipRsync 的server端跟客户端都是一个Windows的exe的安装文件。
选好安装路径,装就是了。
先在服务器或者(台式机)上安装Rsync Server 服务端。
我把安装路径设在了服务器(台式机)的D:/Program Files/cwRsyncServerServer 端会顺便添加一个SvcwRsync用户,用户密码会在安装过程中自动生成并且告诉你.这个密码难度也挺强的一般是没必要去修改。
rsync文件同步案例服务端:192.168.56.10客户端:192.168.56.11、192.168.56.12(实例2和3用到)sersync+rsync:192.168.56.13(实例2和3用到)准备2台红帽linux系统虚拟机,先将防火墙以及selinux关闭,安装xinetd服务# iptables -F# service iptables save# setenforce 0# yum –y install xinetd (需提前搭建好yum源,详细不做介绍)一、实例1(基础)1、编辑rsync配置文件[root@www ~]# cat /etc/rsyncd.confuid=nobodygid=nobodyuse chroot=yesaddress=192.168.56.11port 873log file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidhosts allow=192.168.56.0/24[webroot]path=/webrootcomment= web root share with rsyncread only=yesdont compress=*.gz *.bz2 *.tgz *.rar *.zip --不需要压缩的文件列表auth users=user01 user02secrets file=/etc/rsyncd_user.db2、编辑登录用户文件[root@www ~]# vim /etc/rsyncd_user.dbuser01:123# chmod 600 /etc/rsyncd_user.db --密码数据文件的权限必须600,否则服务启不来3、新建webroot,以及修改所属用户和组# mkdir /webroot# chown nobody.nobody /webroot/4、启动rsync# chkconfig rsync on#/etc/init.d/xinetd start5、查看进程以及端口是否已经起来6、测试1:(将服务端的文件同步到客户端)1)在服务端新建测试文件# touch /webroot/1.text1)在客户端新建测试文件夹# mkdir /rsync2)在客户端执行同步命令# rsync -avz user01@192.168.56.10::webroot /rsyncrsync -avz user01@192.168.56.10::webroot /rsync等同于下面的命令rsync -avz rsync://user01@192.168.56.10/webroot /rsync/7、测试2:(将客户端的文件同步到服务端)1)在客户端执行[root@www ~]# rsync -avz /rsync/ rsync://user01@192.168.56.10/webroot由于rsyncd.conf中[webroot]为read only=yes,所以同步失败2)在服务端修改rsyncd.conf[root@www ~]# vim /etc/rsyncd.confuid=nobodygid=nobodyuse chroot=yesaddress=192.168.56.11port 873log file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidhosts allow=192.168.56.0/24[webroot]path=/webrootcomment= web root share with rsyncread only=yesdont compress=*.gz *.bz2 *.tgz *.rarauth users=user01 user02secrets file=/etc/rsyncd_user.db[webroot2]path=/webroot2comment= web2 root share with rsyncread only=nodont compress=*.gz *.bz2 *.tgz *.rarauth users=user01 user02secrets file=/etc/rsyncd_user.db3)新建webroot2,以及修改所属用户和组# mkdir /webroot2# chown nobody.nobody /webroot2/4)重启rsync# /etc/init.d/xinetd restart5)在客户端新建测试文件# touch /rsync/2.test6)在客户端执行同步命令[root@www ~]# rsync -avz /rsync/ rsync://user01@192.168.56.10/webroot28、不需要输入密码的同步方式(适合于脚本方式调用)1)在客户端编辑密码文件[root@www ~]# vim /root/passwd.txt123[root@www ~]# chmod 600 /root/passwd.txt2)在服务端新建测试文件[root@www ~]# touch /webroot/3.test3)测试二、实例2:(使用sersync整合rsync,实现WEB页面同步更新,亦可做数据备份之用.)--daemon通道准备(4台linux):1、sersync+rsync具备sersync2.5_32bit_binary_stable_final.tar.gz2、将sersync+rsync主机名为sersync,另外3台linux的主机名名为webserver1、webserver2、webserver3便于区分3、在3台linux新建/webroot,所属用户和组都是nobody4、在3台linux安装xinetd开始:1、在3台linux都编辑rsyncd.confvim /etc/rsyncd.confuid=nobodygip=nobodyuse chroot=yesaddress=192.168.56.0port 873log file=/var/log/rsyncd.logpid file=/var/run/rsyncd.pidlock file=/var/run/rsyncd.lockhosts allow=192.168.0.0/24hosts deny=*[webroot]path=/webrootcomment= web root share with rsyncread only=noauth users=user01secrets file=/etc/rsyncd_user.db2、在4台主机上编辑登录远程服务器的账号/密码# vim /root/passwd.txt123# chmod 600 /root/passwd.txt3、在三台机器上启用服务:# chkconfig rsync on# service xinetd start4、在sersync+rsync主机解压sersync2.5_32bit_binary_stable_final.tar.gz[root@sersync ~]# tar -xf sersync2.5_32bit_binary_stable_final.tar.gz5、编辑# vim /root/GNU-Linux-x86/confxml.xml<sersync><localpath watch="/var/tmp"><remote ip="192.168.56.10" name="webroot"/><remote ip="192.168.56.11" name="webroot"/><remote ip="192.168.56.12" name="webroot"/><!--<remote ip="192.168.8.39" name="tongbu"/>--><!--<remote ip="192.168.8.40" name="tongbu"/>--></localpath><rsync><commonParams params="-artuz"/><auth start="true" users="user01" passwordfile="/root/passwd.txt"/><userDefinedPort start="false" port="873"/><!-- port=874 --><timeout start="false" time="100"/><!-- timeout=100 --><ssh start="false"/></rsync><failLog path="/tmp/rsync_fail_log.sh" timeToExecute="60"/><!--default every 60mins execute once--><crontab start="false" schedule="600"><!--600mins--><crontabfilter start="false"><exclude expression="*.php"></exclude><exclude expression="info/*"></exclude></crontabfilter></crontab><plugin start="false" name="command"/></sersync>如图:6、启动sersync# ./sersync2 -d –rset the system paramexecute:echo 50000000 > /proc/sys/fs/inotify/max_user_watchesexecute:echo 327679 > /proc/sys/fs/inotify/max_queued_eventsparse the command paramoption: -d run as a daemonoption: -r rsync all the local files to the remote servers before the sersync work daemon thread num: 10parse xml config filehost ip : localhost host port: 8008daemon start,sersync run behind the consoleuse rsync password-file :user is user01passwordfile is /root/passwd.txtconfig xml parse successplease set /etc/rsyncd.conf max connections=0 Manuallysersync working thread 12 = 1(primary thread) + 1(fail retry thread) + 10(daemon sub threads) Max threads numbers is: 42 = 12(Thread pool nums) + 30(Sub threads)please according your cpu ,use -n param to adjust the cpu rate------------------------------------------rsync the directory recursivly to the remote servers onceworking please wait...execute command: cd /var/tmp && rsync -artuz -R --delete ./ user01@192.168.56.10::webroot --password-file=/root/passwd.txt >/dev/null 2>&1run the sersync:watch path is: /var/tmp参数说明:-d以后后服务器的方式启动-r清除远程服务器文件中本地服务器没有的文件-o 指定配置文件,默认在本在目录加载-n 指定线程数量7、测试在sersync_server上的/var/tmp目录中做文件的增删改则这些操作会被同步至其它三台webserver在sersync_server上# touch /var/tmp/1结果如下图:三、实例3:(使用sersync整合rsync,实现WEB页面同步更新,亦可做数据备份之用.)--ssh通道1、设置SSH使用密钥对验证:# ssh-keygen -t rsa# ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.0.36 --使用root用户验证(实际环境中使用普通账号)2、配置sersync:# cd /opt/sersync# cp -a confxml.xml confxml_ssh.xml# vim /opt/sersync/confxml_ssh.xml。
Linux命令高级技巧掌握rsync命令进行文件和同步Linux命令高级技巧:掌握rsync命令进行文件同步在Linux系统中,rsync是一个强大而受欢迎的命令行工具,可以在本地或远程系统之间进行文件和文件夹的同步。
rsync具有高效、快速、灵活和安全的特点,广泛应用于数据备份、数据迁移以及实时文件同步等场景。
本文将介绍rsync命令的基本用法和高级技巧,帮助您更好地掌握该命令。
一、基本用法1. 安装rsync命令在大多数Linux发行版中,rsync命令默认已经安装。
如果您的系统没有安装rsync,可以使用以下命令进行安装:```shellsudo apt-get install rsync```2. 同步文件夹到本地要将远程文件夹同步到本地,可以使用以下命令:```shellrsync -avz user@remote:/path/to/source /path/to/destination```其中,user是远程系统的用户名,remote是远程系统的IP地址或主机名,/path/to/source是要同步的文件夹路径,/path/to/destination是本地存放同步文件夹的路径。
3. 同步文件夹到远程要将本地文件夹同步到远程系统,可以使用以下命令:```shellrsync -avz /path/to/source user@remote:/path/to/destination```同样,/path/to/source是要同步的本地文件夹路径,user是远程系统的用户名,remote是远程系统的IP地址或主机名,/path/to/destination 是远程存放同步文件夹的路径。
4. 增量同步默认情况下,rsync会传输整个文件。
如果只想同步文件的增量部分,可以使用--partial参数:```shellrsync -avz --partial user@remote:/path/to/source /path/to/destination```上述命令将只同步发生变化的文件部分,从而加快同步速度。
rsync 同步2台服务器文件的用法rsync是一个用于文件同步的工具,可以在两台服务器之间同步文件或目录。
要使用rsync同步两台服务器之间的文件,可以使用以下命令:```
rsync -avz user@source_server:/path/to/source_dir/
user@destination_server:/path/to/destination_dir
```
其中,-a表示以归档模式同步文件,保持文件的所有属性;-v表示以详细模式显示同步过程;-z表示使用压缩传输,以减少数据传输量。
user是登录服务器的用户名,source_server和
destination_server分别是源服务器和目标服务器的地址,
/path/to/source_dir和/path/to/destination_dir分别是源目录和目标目录的路径。
除了以上基本的用法外,rsync还有许多其他参数和选项可以根据具体需求进行选择,比如--delete参数可以在目标服务器上删除已经
不存在于源服务器的文件;--exclude参数可以排除特定的文件或目录;--progress参数可以显示同步进度等等。
需要注意的是,rsync需要在源服务器和目标服务器上都安装并配置好,通常需要使用ssh协议进行连接和传输。
总的来说,rsync是一个非常实用的文件同步工具,可以帮助用户方便快捷地在不同服务器之间同步文件,适用于各种不同的应用场景。
Windows下cwRsync搭建步骤(⽂件同步教程图⽂详解)详细配置步骤如下:⼀、服务器端安装配置2、安装服务端默认⼀直下⼀步;到下图所⽰这⼀步很重要,可以说是cwRsync安装成功与否的关键。
这⼀步会在当前系统下⽣成 SvcCWRSYNC⼀个账户,⽤来启动RsyncServer服务。
建议这个对此账户的密码进⾏重新设置,从新设置密码后,需要在服务中更改,否则 RsyncServer服务不能启动程序⾃动设置程序⽬录可修改的权限,因为需要写⽇志⽂件。
配置⽂件默认在程序的安装⽬录下,默认是 C:\Program Files\ICW3、修改配置⽂件rsyncd.confuse chroot = falsestrict modes = falsehosts allow = *log file = rsyncd.log# Module definitions# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work#[test]path = /cygdrive/c/workread only = falsetransfer logging = yes修改配置内容如下,参数解释:use chroot = false # 不使⽤chrootstrict modes = false #使⽤静态模式pid file = rsyncd.pid # ⽇志记录⽂件log file = rsyncd.log # ⽇志记录⽂件[test] # 这⾥是认证的模块名,在client端需要指定path = /cygdrive/e/bak # 需要做镜像的⽬录,如e/bak(此⽬录需要给 SvcCWRSYNC 账户的读取权限)transfer logging = yes # 记录传输⽇志read only = yes # 只读list = no # 不允许列⽂件hosts allow = 192.168.0.0/255.255.252.0hosts deny = * # 禁⽌除192.168.1.0/255.255.255.0段外的连接IPuid = 0 #解决运⾏后的@ERROR: invalid uid 错误gid = 0 #解决运⾏后的@ERROR: invalid gid错误lock file = rsyncd.lock #解决⽂件被锁定⽆法复制问题#auth users = SvcCWRSYNC # 认证的⽤户名,这⾥没有这⾏,则表明是匿名 #secrets file = /cygdrive/c/pass/rsync.passwd # 认证⽂件名创建认证⽂件 c/pass/rsync.passwd 内容格式:⽤户:密码,如SvcCWRSYNC:star888 启动RsyncServer服务并保证开机⾃动重启,服务器端配置完毕。
Linux命令行使用技巧如何使用rsync命令进行文件同步Linux命令行使用技巧:如何使用rsync命令进行文件同步在Linux系统中,rsync是一个强大而灵活的命令行工具,用于在不同目录之间同步文件和文件夹。
它不仅可以在本地文件系统之间进行同步,还可以在本地和远程系统之间进行同步。
本文将介绍如何使用rsync命令进行文件同步,以及一些常用的技巧和注意事项。
1. 安装rsync命令在开始使用rsync之前,需要确保系统中已经安装了该命令。
如果尚未安装,可以通过以下命令在终端中进行安装:```sudo apt-get install rsync```输入该命令后,系统会提示输入管理员密码确认安装。
安装完成后,即可开始使用rsync命令。
2. 基本用法rsync命令的基本用法如下:```rsync [options] source destination```其中,source表示源文件或目录的路径,destination表示目标文件或目录的路径。
下面是一些常用的选项:- `-v`:显示详细输出,可了解文件传输的过程和结果。
- `-r`:递归同步目录及其子目录。
- `-a`:归档模式,保持文件的所有元数据,包括权限、所有者和时间戳。
- `-z`:压缩传输数据,减少网络流量。
- `--delete`:删除目标中不存在于源中的文件。
例如,要将本地目录`/home/user/source`同步到本地目录`/home/user/destination`,可以使用以下命令:```rsync -avz /home/user/source /home/user/destination```该命令会将`source`目录中的所有文件和子目录同步到`destination`目录中。
3. 本地文件同步rsync命令可以轻松实现本地文件之间的同步。
下面是使用rsync 命令进行本地文件同步的示例:- 将文件从源目录复制到目标目录:```rsync -avz /path/to/sourcefile /path/to/destination```- 将源目录的所有文件和子目录同步到目标目录:```rsync -avz /path/to/source/ /path/to/destination```- 删除目标目录中不存在于源目录中的文件:```rsync -avz --delete /path/to/source/ /path/to/destination```4. 远程文件同步rsync命令还可以用于在本地和远程系统之间同步文件。
Centos7利⽤rsync实现⽂件同步0x01 测试环境CentOS 7.4 Rsync服务端:192.168.204.130CentOS 7.4 Rsync客户端:192.168.204.1680x02 rsync同步⽅式第⼀种⽅式:rsync通过ssh⽅式同步1、Rsync服务端和客户端都需要安装rsync[root@localhost ~]# yum -y install rsync2、使⽤前提:需知道远程服务器开启ssh端⼝和账号密码A、推⽂件:[root@localhost tmp]# rsync -av /etc/passwd 192.168.204.168:/tmp/passwd.txtB、拉⽂件[root@localhost tmp]# rsync -av 192.168.204.168:/tmp/passwd.txt /tmp/test.txt#指定ssh端⼝[root@localhost tmp]# rsync -av -e "ssh -p 22"192.168.204.168:/tmp/passwd.txt /tmp/a.txt第⼆种⽅式:rsync通过服务的⽅式同步服务端配置:1、编辑配置⽂件/etc/rsyncd.confmotd file = /etc/rsyncd.motdtransfer logging = yeslog file = /var/log/rsyncd.logport = 873address = 192.168.204.130uid = nobodygid = nobodyuse chroot = noread only = nomax connections = 10[common]comment = rsync infopath = /tmpignore errorsauth users = adminsecrets file = /etc/rsyncd.secretshosts allow = 192.168.204.0/255.255.255.0hosts deny = *list = false2、创建⽤户密码⽂件echo "admin:123456" > /etc/rsyncd.secretschmod 600 /etc/rsyncd.secrets3、创建提⽰信息⽂件:echo "rsync info" > /etc/rsyncd.motd4、启动服务:rsync --daemonecho "rsync --daemon" >> /etc/rc.local客户端配置:创建密码⽂件(免密码输⼊):echo "123456" > /root/passwdchmod 600 /root/passwd拉取:rsync -avz --password-file=/root/passwd admin@192.168.204.130::common /tmp推送:rsync -avz --password-file=/root/passwd /tmp/ admin@192.168.204.130::common定时任务:1、新建⼀个rsync.sh⽂件,在⽂件中写⼊执⾏同步的命令:rsync -avz --password-file=/root/passwd admin@192.168.204.130::common /tmp >/dev/null2>&1 chmod 755 rsync.sh2、执⾏命令:crontab -e在定时⽂件中写⼊定时执⾏任务,实例如下:* * * * * /home/rsync.sh 每分钟执⾏⼀次同步脚本;0 * * * * /home/rsync.sh 每⼩时执⾏⼀次同步脚本;00 * * * /home/rsync.sh 每天零点执⾏⼀次同步脚本;09,18 * * * /home/rsync.sh 每天的9AM和6PM执⾏⼀次同步脚本;TIPS:匿名访问测试列举整个同步⽬录或指定⽬录:rsync 10.0.0.12 ::rsync 10.0.0.12 :: www /下载⽂件或⽬录到本地:rsync – avz 10.0.0.12 :: WWW/ /var/tmprsync – avz 10.0.0.12 :: www/ /var/tmp上传本地⽂件到服务端:rsync -avz webshell 10.0.0.12 :: WWW /参考⽂章:centos7安装配置rsync⽇常运维--rsync同步⼯具linux下匿名⽅式通过rsync同步⽂件Linux下rsync的安装及简单使⽤CentOS 7安装部署Rsync数据同步服务器。
Rsync 文件数据同步/目 录一、什么是 rsync?..................................................................................................... 2 二、Rsync 同步算法..................................................................................................... 3 三、windows 下 swRsync 使用实例............................................................................. 3 3.1、服务端安装方法........................................................................................... 3 3.2、客户端的安装方法..................................................................................... 11 3.3、文件同步详细方法说明............................................................................. 13 3.4 Rsync 详细参数说明.................................................................................... 161Rsync 文件数据同步/rsync? 一、什么是 rsync?丢失数据是大家都不想看到的,为了数据安全,一个好的智能的备份软件是 必不可少的。
Linux命令高级技巧使用rsync进行高效的文件同步在计算机领域,Linux操作系统是一款非常流行的开源操作系统。
它具有强大的命令行工具,其中一个非常实用的工具就是rsync命令。
rsync命令可以通过网络在两个目录之间实现文件的高效同步。
在本文中,我们将介绍rsync命令的高级技巧,以便更有效地进行文件同步。
一、基本用法rsync命令的基本用法非常简单,可以使用以下命令格式进行文件同步:rsync [选项] 源目标例如,要将本地目录/var/www/html同步到远程服务器的/var/www/html目录下,可以使用以下命令:rsync -avz /var/www/html/ user@remote:/var/www/html/在这个命令中,-a选项表示使用归档模式进行同步,保留文件的权限、所有者、时间戳等信息;-v选项表示显示同步过程中的详细信息;-z选项表示启用压缩,减少数据传输量。
用户需要将"user"替换为远程服务器的用户名,将"remote"替换为远程服务器的IP地址或域名。
二、增量同步在实际的文件同步过程中,通常只有部分文件发生变化。
使用rsync命令进行全量同步会浪费很多时间和网络带宽。
为了更高效地进行文件同步,可以使用rsync的增量同步功能。
增量同步指的是只同步发生变动的文件,而不是所有文件。
通过使用--delete选项删除目标目录中不存在于源目录的文件,我们可以达到增量同步的效果。
以下是一个实例命令:rsync -avz --delete /var/www/html/ user@remote:/var/www/html/在这个命令中,--delete选项表示删除目标目录中不存在于源目录的文件。
三、排除文件和目录有些文件和目录在进行文件同步时不需要同步,比如日志文件、临时文件等。
为了避免将这些不需要同步的文件传送到目标目录,可以使用--exclude选项。
Rsync 文件数据同步/目 录一、什么是 rsync?........................................................................................................................ 2 二、Rsync 同步算法........................................................................................................................ 3 三、windows 下 swRsync 使用实例 ................................................................................................ 3 3.1、服务端安装方法 ............................................................................................................. 3 3.2、客户端安装方法 ........................................................................................................... 11 3.3、文件同步详细方法说明 ............................................................................................... 13 3.4、 Rsync 命令详细参数说明 .......................................................................................... 16 四、linux 下 Rsync 使用实例 ...................................................................................................... 18 4.1、Rsync 安装方法说明 .................................................................................................... 18 4.2、服务端安装方法 ........................................................................................................... 19 4.3、客户端安装方法 ........................................................................................................... 28 4.4、linux 作为 server 时与 windows 间的同步 .............................................................. 32 五、保存用 yum 命令安装的软件包 ............................................................................................. 33 5.1、安装下载工具 ............................................................................................................... 33 5.2、下载 rsync 的 rpm 安装包 .......................................................................................... 33 5.3、查看已经下载的软件包 ............................................................................................... 331Rsync 文件数据同步/rsync? 一、什么是 rsync?丢失数据是大家都不想看到的,为了数据安全,一个好的智能的备份软件是 必不可少的。
Rsync (remote synchronize) 是一个远程数据同步工具, 是类 unix 系统下的数据镜像备份工具, 可通过 LAN/WAN 快速同步多台主机间的文件。
Rsync 使用“Rsync 算法”来使本地和远程两个主机之间的文件达到同步,这个算法只 传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。
Rsync 本来是用于替代 rcp 的一个工具,目前由 维护,所 以 rsync.conf 文件的格式类似于 samba 的主配置文件。
Rsync 可以通过 rsh 或 ssh 使用,也能以 daemon 模式去运行,在以 daemon 方式运行时 Rsync server 会打开一个 873 端口,等待客户端去连接。
连接时,Rsync server 会检查口令 是否相符,若通过口令查核,则可以开始进行文件传输。
第一次连通完成时,会 把整份文件传输一次, 以后则就只需进行增量备份。
windows 下也有类似的软件, 就是 cwRsync 定期备份软件,此软件分为服务器端/客户端。
rsync 有很多不同 的用法,我们在此文档中只介绍 rsync 的 deamon 模式 软件下载 /projects/sereds/files/cwRsync/ 目前最新版本为 4.2.0,我用的是比较老一点的 cwRsync_2.1.5 版本的基本特点如下 如下: Rsync 的基本特点如下: 可以镜像保存整个目录树和文件系统。
可以很容易做到保持原来文件的权限、时间、软硬链接等等。
无须特殊权限即可安装。
优化的流程,文件传输效率高。
可以使用 rcp、ssh 等方式来传输文件,当然也可以通过直接的 socket 连接。
支持匿名传输,以方便进行网站镜象。
2Rsync 文件数据同步/二、Rsync 同步算法Rsync 只所以同步文件的速度相当快,是因为“Rsync 同步算法”能在很短 的时间内计算出需要备份的数据,关于 Rsync 的同步算法描述如下: 假定在 1 号和 2 号两台计算机之间同步相似的文件 A 与 B,其中 1 号对文件 A 拥有访问权,2 号对文件 B 拥有访问权。
并且假定主机 1 号与 2 号之间的网络 带宽很小。
那么 rsync 算法将通过下面的五个步骤来完成: 1、2 号将文件 B 分割成一组不重叠的固定大小为 S 字节的数据块,最后一 块可能会比 S 小。
2、 号对每一个分割好的数据块执行两种校验: 2 一种是 32 位的滚动弱校验, 另一种是 128 位的 MD4 强校验。
3、2 号将这些校验结果发给 1 号。
4、1 号通过搜索文件 A 的所有大小为 S 的数据块(偏移量可以任选,不一定 非要是 S 的倍数),来寻找与文件 B 的某一块有着相同的弱校验码和强校验码的 数据块。
这项工作可以借助滚动校验的特性很快完成。
5、1 号发给 2 号一串指令来生成文件 A 在 2 号上的备份。
这里的每一条指 令要么是对文件 B 经拥有某一个数据块而不须重传的证明,要么是一个数据块, 这个数据块肯定是没有与文件 B 的任何一个数据块匹配上的。
三、windows 下 swRsync 使用实例 swRsync3.1、 3.1、服务端安装方法 >>>点击安装服务器版本文件 >>>点击安装服务器版本文件>>>下一步 >>>下一步3Rsync 文件数据同步/>>>同意 >>>同意>>>下一步 >>>下一步>>>下一步 >>>下一步4Rsync 文件数据同步/>>>选择安装目录默认为 ----开始安装 >>>选择安装目录默认为 C 盘----开始安装 选择安装目录5Rsync 文件数据同步/>>>安装过程中会默认分配一个 用户和密码, >>>安装过程中会默认分配一个 SvcwRsync 用户和密码, 安装完成后系统会默认用这个用户来 安装完成后系统会默认用这个用户来启动 RsyncServer 服务 系统会默认用这个用户>>>安装完成 >>>安装完成6Rsync 文件数据同步/>>>系统默认添加 用户和密码, >>>系统默认添加 SvcwRsync 用户和密码,隶属于 Administrator 组和 user 组>>>我的电脑>>>管理>>>服务和应用程序>>>服务>>>找到 >>>我的电脑>>>管理>>>服务和应用程序>>>服务>>>找到 RsyncServer 服务 我的电脑>>>管理>>>服务和应用程序>>>服务>>>7Rsync 文件数据同步/>>>把 服务的启动类型设置为自动启动,并启动服务。
>>>把 RsyncServer 服务的启动类型设置为自动启动,并启动服务。
>>>RsyncServer 用户启动服务,不用管它。
>>>RsyncServer 服务默认会以 SvcwRsync 用户启动服务,不用管它。
8Rsync 文件数据同步/>>>C 我们需要对此文件进行配置。
>>>CwRsync Server 的配置文件为 rsyncd.conf 我们需要对此文件进行配置。