Windows Linux 之间rsync同步CODE文件 一.环境 Windows: OS:Microsoft Windows Web Server 2008 SP1 IP:192.168.88.197 Linux: OS:CentOS release 6.4 (Final) IP:192.168.88.238 二. Windows 下安装服务端软件并配置 1.cwRsyncServer(安装过程略),注意安装过程会建立一个启动服务的用户 启动cwsync services.msc-找到RsyncServer 将启动类型改为自动,而后启动一下服务 2.配置cwrsync 建立同步目录 这里我新建的目录为: E:\sync 为新建目录赋权 右击目录sync选择安全点击编辑将SvcCWRSYNC添加进去并赋给全部权限 配置rsyncd.conf文件,目录路径以下 C:\Program Files (x86)\ICW 修改成以下配置 use chroot = false strict modes = false hosts allow = * log file = rsyncd.log # Module definitions # Remember cygwin naming conventions : c:\work becomes /cygwin/c/work # [197bak] path = /cygdrive/e/sync #路径须要转换为这里真实路径为E:\sync read only = true list = no hosts allow=192.168.88.238 #容许那些IP同步,多个IP用逗号分隔,容许全部直接是* auth users = qssync #同步验证用户名 secrets file = etc/rsyncd.secrets #指定密码文件路径 UID = 0 GID = 0 建立密码文件 注意密码文件路径要和rsyncd.conf路径一致 etc/rsyncd.secrets(这个路径是相对路径) 真实物理路径为C:\Program Files (x86)\ICW\etc 编辑文件rsyncd.secrets格式以下 sync:Abc23332c2014 windows 下备份CODE BAT脚本以下backup.bat @echo off set p=C:\Program Files\WinRAR "%p%\rar" a E:\sync\code%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~7,1%.rar D:\app\code >>rar%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~7,1%.log forfiles /p "E:\sync" /d -7 /c "cmd /c echo deleting @file ... && del /f @path" >>rar%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~7,1%.log 三.linux 端配置(这里Linux做为客户端) 1.安装Linux客户端(建议将selinux关闭)并配置 yum install rsync xinetd 配置 [root@zjqs-05 scripts]# vim /etc/xinetd.d/rsync # default: off # description: The rsync server is a good addition to an ftp server, as it \ # allows crc checksumming etc. service rsync { disable = no flags = IPv6 socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID } 将disable 由yes 改为no 建立密码文件 vim /etc/passwd.txt 内容以下 [root@zjqs-05 scripts]# cat /etc/passwd.txt Abc23332c2014 这里的密码跟server端一致 建立同步脚本 [root@zjqs-05 scripts]# cat /export/scripts/rsync197.sh #!/bin/sh rsync -vzrtopg --port=873 --progress --delete --exclude-from '/export/scripts/exclude.txt' sync@192.168.88.197::197bak /data/197bak --password-file=/etc/passwd.txt #exclude-from 防止有些须要长期保留的。不须要同步的 exclude.txt内容以下 [root@zjqs-05 scripts]# cat /export/scripts/exclude.txt bianfeng20140911.bak bianfeng 创建任务计划 02 02 * * * /export/scripts/rsync197.sh >/export/scripts/rsync`date +%F`.log 2>&1