可知这妖怪来历 發表於 2025-3-18 00:00:00

Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>为什么要使用 rsync 从 Windows 到 linux 进行同步?</li><li><strong>一、Rsync服务端配置</strong></li></ul></div><p class="maodian"></p><h2>为什么要使用 rsync 从 Windows 到 linux 进行同步?</h2>
<p>我们经常会面临这种的情况,项目使用 Windows 开发,最终部署在 Linux 上,但有时想要进行测试、维护、迭代版本时操作时,服务器和本地的开发环境代码的同步就成了问题。当然我们可以选用 Git 进行代码的同步。但有时代码的频繁修改,并且修改后的验证需要依赖外部的 Linux 服务器,这时 git 的提交便成了令人抓狂的操作。为了解决这个问题,今天推荐一个叫&nbsp;<code>rsync</code>&nbsp;的工具,它不但支持 Windows 与 Linux 之间的数据同步,而且配置简单,同时增量同步的功能更是解决了频繁修改代码的问题。</p>
<blockquote><p><strong>说明:</strong><br />1、Rsync服务端<br />系统:Ubuntu Server 11.10<br />IP地址:192.168.21.168<br />数据存放目录:/home/mysql_data<br />2、cwRsync客户端<br />系统:Windows Server 2003<br />IP地址:192.168.21.130<br />同步的目录:D:\mysql_data<br /><strong>实现目的:</strong><br />cwRsync客户端每天凌晨3:00钟自动同步Rsync服务端/home/mysql_data目录中的数据到D:\mysql_data目录<br />&nbsp;</p></blockquote>
<p class="maodian"></p><h2><strong>一、Rsync服务端配置</strong></h2>
<p>1、开启防火墙tcp 873端口(Rsync默认端口)</p>
<p>说明:Ubuntu默认安装是没有开启任何防火墙的,为了服务器的安全,建议大家安装启用防火墙设置,这里推荐使用iptables防火墙。</p>
<p>whereis iptables #查看系统是否安装防火墙</p>
<p>iptables: /sbin/iptables /usr/share/iptables /usr/share/man/man8/iptables.8.gz #表示已经安装iptables防火墙</p>
<p>apt-get install iptables #如果默认没有安装,请运行此命令安装防火墙</p>
<p>iptables -L #查看防火墙配置信息,显示如下:</p>
<p>Chain INPUT (policy ACCEPT)</p>
<p>target prot opt source destination</p>
<p>Chain FORWARD (policy ACCEPT)</p>
<p>target prot opt source destination</p>
<p>Chain OUTPUT (policy ACCEPT)</p>
<p>target prot opt source destination</p>
<p>nano /etc/iptables.default.rules #设置防火墙规则,添加以下内容</p>
<p>##################################################################################################<br />*filter<br /># Allows all loopback (lo0) traffic and drop all traffic to 127/8 that doesn&#39;t use lo0<br />-A INPUT -i lo -j ACCEPT<br /># Accepts all established inbound connections<br />-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br /># Allows all outbound traffic<br /># You could modify this to only allow certain traffic<br />-A OUTPUT -j ACCEPT<br /># Allows HTTP and MySQLconnections from anywhere (the normal ports for websites)<br />-A INPUT -p tcp --dport 80 -j ACCEPT<br />-A INPUT -p tcp --dport 3306 -j ACCEPT<br />-A INPUT -p tcp --dport 873 -j ACCEPT<br /># Allows SSH connections for script kiddies<br /># THE -dport NUMBER IS THE SAME ONE YOU SET UP IN THE SSHD_CONFIG FILE<br />-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT<br /># Now you should read up on iptables rules and consider whether ssh access<br /># for everyone is really desired. Most likely you will only allow access from certain IPs.<br /># Allow ping<br />-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT<br /># log iptables denied calls (access via &#39;dmesg&#39; command)<br />-A INPUT -m limit --limit 5/min -j LOG --log-prefix &quot;iptables denied: &quot; --log-level 7<br /># Reject all other inbound - default deny unless explicitly allowed policy:<br />-A INPUT -j REJECT<br />-A FORWARD -j REJECT<br />COMMIT<br />##################################################################################################</p>
<p>ctrl+o #保存</p>
<p>ctrl+x #退出</p>
<p>备注:873是Rsync端口</p>
<p>iptables-restore &lt; /etc/iptables.default.rules&nbsp;#使防火墙规则生效</p>
<p>nano /etc/network/if-pre-up.d/iptables&nbsp;#创建文件,添加以下内容,使防火墙开机启动</p>
<p>##########################################################</p>
<p>#!/bin/bash<br />/sbin/iptables-restore</p>
<p>##########################################################</p>
<p>chmod +x /etc/network/if-pre-up.d/iptables&nbsp;#添加执行权限</p>
<p>2、安装Rsync服务端软件<br />whereis rsync&nbsp;#查看系统是否已安装rsync,出现下面的提示,说明已经安装<br />rsync: /usr/bin/rsync /usr/share/man/man1/rsync.1.gz</p>
<p>apt-get install rsync&nbsp;#如果没有安装,请执行这行命令来安装rsync</p>
<p>nano /etc/default/rsync&nbsp;#编辑配置文件</p>
<p>RSYNC_ENABLE=true&nbsp;#把false改为true,设置开机启动rsync<br />ctrl+o #保存<br />ctrl+x #退出</p>
<p>3、创建rsyncd.conf配置文件</p>
<p>nano /etc/rsyncd.conf #创建配置文件,添加以下代码<br />log file = /var/log/rsyncd.log #日志文件位置,启动rsync后自动产生这个文件,无需提前创建。<br /> #自定义名称<br />path = /home/mysql_data #Rsync服务端数据目录路径<br />comment = MySQL_Backup #模块名称与自定义名称相同<br />uid = root #设置rsync运行权限为root<br />gid = root #设置rsync运行权限为root<br />port=873 #默认端口<br />read only = no #设置为no,cwRsync客户端可上传文件,yes只读<br />write only = no #设置为no,cwRsync客户端可下载文件,yes不能下载<br />auth users = mysqlbakuser #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开<br />secrets file = /etc/rsync.pass #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件<br />hosts allow = 192.168.21.130 #允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开<br />hosts deny = 192.168.21.254 #禁止数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开<br />list = yes #显示Rsync服务端资源列表</p>
<p>ctrl+o #保存</p>
<p>ctrl+x #退出</p>
<p>4、创建用户认证文件<br />nano /etc/rsync.pass #配置文件,添加以下内容<br />mysqlbakuser:123456 #格式,用户名:密码,可以设置多个,每行一个用户名:密码</p>
<p>ctrl+o #保存<br />ctrl+x #退出</p>
<p>5、设置文件权限<br />chmod 600 /etc/rsyncd.conf #设置文件所有者读取、写入权限<br />chmod 600 /etc/rsync.pass #设置文件所有者读取、写入权限</p>
<p>6、启动rsync<br />/etc/init.d/rsync start #启动<br />service rsync stop #停止<br />service rsync restart #重新启动<br /><strong>二、cwRsync客户端设置</strong></p>
<p>1、下载cwRsync客户端软件</p>
<p>下载地址:http://jaist.dl.sourceforge.net/project/sereds/cwRsync/4.0.3/cwRsync_4.0.3_Installer.zip</p>
<p>2、安装cwRsync客户端</p>
<p>解压cwRsync_4.0.3_Installer.zip 双击打开cwRsync_4.0.3_Installer.exe</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/e318ba907ecec3e227462995f28586b0.jpg" /></p>
<p>Next 下一步</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/fdf0bbebf2b0363b8f132f3b5ad01530.jpg" /></p>
<p>IAgree 同意安装</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/e49a03730caf5e5bee527f3fae7027e4.jpg" /></p>
<p>Next</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/92ac107e63c96f319af9e08b05bd28fc.jpg" /></p>
<p>默认安装路径&nbsp;C:\Program Files\cwRsync</p>
<p>Install 安装</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/1d14fc8e7392b8e4216ffcfb142fe09d.jpg" /></p>
<p>Close 安装完成,关闭</p>
<p>3、测试是否与Rsync服务端通信成功</p>
<p>开始-运行-cmd</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/e758ca744464628fca2523adee59f13b.jpg" /></p>
<p>输入cd C:\Program Files\cwRsync\bin 回车</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/7d7ca45e6140730a66ea2871e832c2d5.jpg" /></p>
<p>再输入telnet 192.168.21.168 873 回车</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/c0eed2e3e0482c270385dbeda6ffee51.jpg" /></p>
<p>出现下面的界面,说明与Rsync服务端通信成功</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/159a15d35726304456fe56484bf6f03f.jpg" /></p>
<p>备注 C:\Program Files\cwRsync\bin 是指cwRsync程序安装路径</p>
<p>4、cwRsync客户端同步Rsync服务端的数据</p>
<p>开始-运行-cmd,输入cd C:\Program Files\cwRsync\bin 回车</p>
<p>再输入rsync -vzrtopg --progress --delete mysqlbakuser@192.168.21.168::MySQL_Backup /cygdrive/d/mysql_data</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/7036d59deffe08a3fc6cb084f804c7f7.jpg" /></p>
<p>输入密码:123456 回车</p>
<p>出现下面的界面,说明数据同步成功</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/3fdc3f9116151df23e0ce3fce761354c.jpg" /></p>
<p>可以打开D:\mysql_data 与Rsync服务端/home/mysql_data目录中的数据对比一下,查看是否相同</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/800833fca4ff3614fe480ecb74cc22d6.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/ba5be4c62edb30e019bf55543180659e.jpg" /><br /><strong>相关说明:</strong><br />d/mysql_data&nbsp;代表D:\mysql_data<br />MySQL_Backup&nbsp;代表/etc/rsyncd.conf文件中自定义的模块名称comment = MySQL_Backup<br />192.168.21.168&nbsp;#Rsync服务端IP地址<br />mysqlbakuser&nbsp;#执行数据同步的用户<br />-vzrtopg --progress&nbsp;#显示同步过程详细信息<br />--delete&nbsp;#从cwRsync客户端D:\mysql_data目录中删除与Rsync服务端/home/mysql_data目录中不相同的数据,即保证两边的数据完全一致<br /><br /><strong>三、在cwRsync客户端的任务计划中添加批处理脚本文件,每天凌晨3:00钟自动同步Rsync服务端/home/mysql_data目录中的数据到D:\mysql_data目录</strong></p>
<p>1、打开C:\Program Files\cwRsync\bin目录,新建passwd.txt</p>
<p>输入123456</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/fda3342da4b4d2a5cd967cbac5a00fcd.jpg" /></p>
<p>保存</p>
<p>继续在C:\Program Files\cwRsync\bin目录,新建MySQL_Backup.bat</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/18349db70b1a4ee80816bc4941a66af9.jpg" /></p>
<p>输入<br />@echo off<br />echo.<br />echo 开始同步数据,请稍等...<br />echo.<br />cd C:\Program Files\cwRsync\bin<br />rsync -vzrtopg --port=873 --progress --delete mysqlbakuser@192.168.21.168::MySQL_Backup /cygdrive/d/mysql_data &lt; passwd.txt<br />echo.<br />echo 数据同步完成<br />echo.</p>
<p>最后保存退出</p>
<p>2、添加批处理脚本到Windows任务计划</p>
<p>开始-设置-控制面板-任务计划</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/fd4bf25ac4cc94b5d9cc328c220cae82.jpg" /></p>
<p>打开添加任务计划,下一步</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/098bf3692d97e636d62cf190ed95536d.jpg" /></p>
<p>浏览,选择打开C:\Program Files\cwRsync\bin目录里面的MySQL_Backup.bat</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/95b4fd1a9e264240a517439c2db40f8b.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/2ee3fcfc1cf167a7b8dc9af34588508d.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/d531792f7cafeae0dec91273e4061a1c.jpg" /></p>
<p>执行这个任务:选择每天,下一步</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/3bd0836110dcb7afdf36fc5bebc719b6.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/f4401be9ca89c28fc9a7832701762084.jpg" /></p>
<p>起始时间:3:00</p>
<p>运行这个任务:每天,下一步</p>
<p>输入Windows系统管理员的登录密码,下一步</p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/cf7e27f753a0016067c6fc7bd8671f06.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/b74f810e8451047444295e94b91ec4c9.jpg" /></p>
<p>完成</p>
<p><strong>扩展说明:如果要调整同步的时间,打开任务计划里面的MySQL_Backup</strong></p>
<p><strong>切换到日程安排来选项设置,还可以打开高级来设置每隔几分钟运行一次MySQL_Backup.bat这个脚本</strong></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/e59a7af7c155f367c6e8df81167ba3be.jpg" /></p>
<p><img style="max-width:100%!important;height:auto!important;"alt="Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程" src="https://zhuji.jb51.net/uploads/img/20230519/b5ca22ef5a80a8dcb7617dacf0588127.jpg" /></p>
<p><strong>至此,Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步完成</strong></p>
頁: [1]
查看完整版本: Ubuntu Server Rsync服务端与Windows cwRsync客户端实现数据同步配置教程