免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 5472 | 回复: 10

[Server 2012] [原创]在FB6.1上运行rsync客户端,同步windows xp rsync服务端的文件 [复制链接]

论坛徽章:
0
发表于 2006-05-20 19:33 |显示全部楼层
原文:http://zxdz.8800.org/htmldata/1/ ... nDeWenJian42_1.html

http://zxdz.8800.org 欢迎访问振兴电子网站

在FB6.1上运行rsync客户端,同步windows xp rsync服务端的文件

作者:余振中   文章来源:[本站原创]   更新时间:2006-05-20    

笔者的个人网站用 windowsXP 在内网做网页生成服务器,将生成的静态html文件放在FB6.1的apache目录里,以前手工同步十分麻烦,今天看了一些资料实现了windowsXP到FB6.1文件同步。不用FB6.1做Rsync服务器,主要是考虑到它要对外服务(常期不停机),应尽量减少在它上面开“端口”,以保安全。windowsXP在内网做工作站用,多几个服务也无所谓。

一、安装Cygwin,使windows可以模拟unix环境,运行unix的软件。
http://www.cygwin.com/,单击Install or update now!开始下载安装包(找JP的服务器快些),选择以下三个包:

+Admin  Install cygrunsrv:NT/W2K service initiator
+Editors Install nano
+Net Install Rsync

按提示完成安装。默认安装会在C盘有C:\cygwin\目录,运行C:\cygwin\cygwin.bat就可进入unix环境。

二、配置windows运行环境

(1)在windows的环境变量中加入:C:\cygwin\bin

右击“我的电脑”-“属性”-“高级”-“环境变量”-在“系统变量”里选中“path”项-“编辑”在行末加入“;C:\cygwin\bin”-“确定”。在命令行执行set path,显示path的值像这样:

%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\cygwin\bin

(2)设置下面两个目录权限为:任何人完全控制,否者会出一些问题。C:\cygwin\var
C:\cygwin\tmp

三、在windows上安装rsync服务端
(1)windows服务端配置文件。在C:\cygwin\etc\目录里分别编辑以下两个文件:
①C:\cygwin\etc\rsyncd.conf

--------文件内容--------------
uid = amdosh    # 备份以什么身份进行,用户ID
gid = amdosh    # 备份以什么身份进行,组ID
use chroot = false
strict modes = false
max connections = 4   # 最大连接数为4
pid file = /var/run/rsyncd.pid   # 定义存放PID号的文件
lock file = /var/run/rsync.lock  # 定义锁文件
log file = /var/log/rsyncd.log   # 定义日志文件

[web]     # 指定认证的备份模块名,在client端需要指定
path = /cygdrive/d/htmldata/  # 需要备份的目录,“/cygdrive/d/”表示d:\
comment = zxdz.8800.org web server # 注释
auth users = htmladmin   # 认证的用户名,如果没有这行,则表明是匿名
secrets file = /etc/htmladmin.pas  # 认证文件名,用来存放密码
ignore errors              # 忽略一些无关的IO错误
read only = false   # 允许写
hosts allow= 10.1.1.1    #允许连接服务器的主机IP地址
#hosts deny = 0.0.0.0/0.0.0.0   #禁止连接服务器的主机IP地址
strict modes = yes
list = false        # 不允许列文件
dont compress = filestype  #什麼樣的附檔不用壓縮。

[upload]
path = /cygdrive/d/html/upload/
comment = zxdz.8800.org web server
auth users = amdosh
secrets file = /etc/htmladmin.pas
-----------------------------------------

②C:\cygwin\etc\htmladmin.pas:

-------------文件内容--------------------
htmladmin:123456
-----------------------------------------

这个文件的属性必需是只有属主可读,否则rsync将拒绝运行。我们可以设置它的安全属性为只有管理员可读写。

(2)将cygrunsrv.exe配置成WIN服务:

cd C:\cygwin\bin
cygrunsrv.exe -I "Rsync" -p /cygdrive/c/cygwin/bin/rsync.exe -a "--config=/cygdrive/c/cygwin/etc/rsyncd.conf --daemon --no-detach" -f "Rsync daemon service"

在“管理工具”-“服务”里可启动、停止该服务,或在命令行执行:
net start rsync   #启动rsync服务
net stop rsync   #停止rsync服务

三、在FB6.1上运行rsync客户端,同步windows的rsync服务端
(1)安装rsync
#cvsup -L2 -g /etc/ports-supfile
#cd /usr/ports/net/rsync
#make install clean
(2)同步Windows上的文件
命令格式:rsync 源 目的
实例:
#/usr/local/bin/rsync htmladmin@10.1.1.1::web /home/html/doc/

命令说明:
“htmladmin”:前面C:\cygwin\etc\rsyncd.conf中定义的用户名
“10.1.1.1::web”:前面C:\cygwin\etc\rsyncd.conf中定义的备份模块名
“/home/html/doc/”:要同步的目录

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-10-05 06:20:00操作系统版块每日发帖之星
日期:2015-10-05 06:20:00
发表于 2006-05-20 21:54 |显示全部楼层
看起来不错

论坛徽章:
0
发表于 2006-05-21 12:53 |显示全部楼层
win2k3下测试通过。不过发现个问题。
服务端和客户端都是win2k3。使用--delete参数,客户端不能真正同步。不删除多余文件。
服务端是FB6.1,客户端是win2k3时,没问题。
所以确定是windows下服务端配置的问题,是否在rsyncd.conf里的uid和gid要用windows里存在的用户名。比如说是administrators组里的?

论坛徽章:
0
发表于 2006-05-21 19:38 |显示全部楼层
win2k3下测试通过。不过发现个问题。
服务端和客户端都是win2k3。使用--delete参数,客户端不能真正同步。不删除多余文件。
------------------------------------------------------------------------------------
你看看文件目录权限是否正确(可给最大权限试一下),查一下C:\cygwin\var\log\rsyncd.log   找出原因。


服务端是FB6.1,客户端是win2k3时,没问题。
所以确定是windows下服务端配置的问题,是否在rsyncd.conf里的uid和gid要用windows里存在的用户名。比如说是administrators组里的?
-------------------------------------------------------------------------
在我的实例中rsyncd.conf里的uid和gid主要是针对客户端的,FB6.1客户端应用htmladmin帐号来运行。

论坛徽章:
0
发表于 2006-05-22 10:27 |显示全部楼层
好东东,正想做服务器的迁移。

论坛徽章:
0
发表于 2006-05-30 19:27 |显示全部楼层
没人用用?

论坛徽章:
0
发表于 2006-06-15 13:32 |显示全部楼层
RSYNC操作时是无法同步文件权限的。如果像VSFTPd那样可以预设umask可能就更完美了。

论坛徽章:
0
发表于 2006-07-04 19:20 |显示全部楼层
RSYNC操作时是无法同步文件权限的。
-----------------------------

如果是 FB-FB,应该可以同步文件权限的。FB-WIN不行,不过我主要是同步静态HTML文件。

论坛徽章:
0
发表于 2006-07-05 13:32 |显示全部楼层
我建议在cygwin中再加一个openssh,这相你就不需要再编写rsync的conf文件了,直接用rsync -e ssh   就可以通过ssh来启动windows上的rsync server端,而且这样做,只要在windows上开一下opensshd的服务,文件传输还是加密的。即方便又安全。

论坛徽章:
0
发表于 2006-07-05 18:32 |显示全部楼层
好象不错的说,请问这个同步能同步其它任意的东西吗??例如是整个E盘。
客房端如果能一开机就自动同步服务器上就最好了。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP