Rsync同步Windows下的文件到Linux服务器端
首先在下载/相对应的软件包
注:本文转自互联网,已将原有的错误修改过来,亲测过Windows2003同步到RHEL5.5
linux server
    一般系统都自带rsync,如果没有就挂载系统盘自己安装一下,安装挺简单的不用我再多说了
vi /f
uid = daemon
//这个用户是系统用户,当rsync客户端连接上服务器后,会映射成这个用户上传或者下载文件
gid = daemon
/
/组名,效果同上
log file = /var/log/rsyncd.log
//rsync的日志文件保存位置
max connections = 5
//最大允许的并发链接是5
hosts allow = 192.168.1.0/24
//只允许指定网段的地址链接服务器
hosts deny = *
//拒绝其他所有的链接
list = yes
//用户具有list目录的权限
auth users = test
//rsync的用户名,这个用户是客户端使用的,链接服务器成功后会映射成上面的daemon用户
read only = no
//不是只读模式,这样用户就有上传的权限了
write only = yes
//不允许用户下载
secrets file = /etc/rsync.pass
//rsync用户的密码文件保存位置
[test]
//服务端的模块,客户端登录时候需要指定
path = /home/test
//test模块的绝对路径
编辑/etc/rsync.pass文件
vi /etc/rsync.pass
test:test
//前面是用户名,后面是密码中间用冒号分割
chmod 600  /etc/rsync.pass
//修改密码文件的权限
mkdir /home/test
chown daemon.daemon /home/test
启动rsync启动服务
[root@cmmailapp2 data]# cat /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 = yes           //需要修改为no;
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}
[root@cmmailapp2 data]# chkconfig --level 2345 rsync on
[root@cmmailapp2 data]# chkconfig rsync on
[root@cmmailapp2 data]# chkconfig --level 2345 xinetd on
[root@cmmailapp2 data]# service xinetd restart
Stopping xinetd: [  OK  ]
Starting xinetd: [  OK  ]
windows client
下载cwrsync的安装包
可以从这个网站获取到 sourceforge/projects/sereds/files/cwRsync
然后创建一个install.bat的脚本
@echo off 
cd C:\Program Files\WinRAR 
 e -o+ "%HOMEPATH%"\桌面\test.rar "%HOMEPATH%"\桌面\ 
cd "%HOMEPATH%"\桌面\
echo "C:\Program Files\cwRsync\" -vzrtopg --progress --exclude=Recycled --exclude=RECYCLER --exclude="System Volume Information" --password-file=/cygdrive/C/"Program Files"/cwRsync/bin/rsync.pass /cygdrive/d/ test@192.168.1.1::test > C:"\Program Files"\cwRsync\bin\rsync.bat
echo test > C:"\Program Files"\cwRsync\bin\rsync.pass
"C:\Program Files\cwRsync\" 600 "/cygdrive/C/Program Files/cwRsync/bin/rsync.pass"
at 12:00 /interactive /every:m,t,w,th,f "C:\Program Files\cwRsync\bin\rsync.bat"
下面是详细的介绍: 
cd C:\Program Files\WinRAR 
 e -o+ "%HOMEPATH%"\桌面\test.rar "%HOMEPATH%"\桌面\ 
cd "%HOMEPATH%"\桌面\
#以上三行主要是解压test.rar的压缩包 
(注:以上红部分信息可以不用命令实现,手动将下载的cwRsync解压安装即可)
#调用cwrsync的安装主程序,根据提示一路下一步就可以,没有需要注意的地方 
echo "C:\Program Files\cwRsync\" -vzrtopg --progress --exclude=Recycled --exclude=RECYCLER --exclude="System Volume Information" --password-file=/cygdrive/
C/"Program Files"/cwRsync/bin/rsync.pass /cygdrive/d/ test@192.168.1.1::test > C:\"Program Files"\cwRsync\bin\rsync.bat
#上面这句话会生成一个上传文件的脚本,具体内容如下:
#echo 是打印内容
#C:\Program Files\cwRsync\    cwrsync的主程序路径
#-vzrtopg
#-v, --verbose   详细模式输出
#-z, --compress  对备份的文件在传输时进行压缩处理
#-r, --recursive 对子目录以递归模式处理
#-t, --times     保持文件时间信息
#-o, --owner     保持文件属主信息
#-p, --perms     保持文件权限
#-g, --group     保持文件属组信息
#--progress      显示备份过程
#--exclude       是排除的意识,我的范例中排除了三个目录
#--passwrod-file 密码文件的存放路径
#/cygdrive/d/ 本地的路径,我这里是D盘,前面cygdrive必须要跟上,要不cwrsync无法识别你的路径
#test@172.16.6.165::test   目标地址,第一个test是用户名@后面是server的地址::后面是servier端的模块名,在f文件中定义过
#> 重定向和linux系统一样的用法 
#C:"\Program Files"\cwRsync\bin\rsync.bat 将以上的内容重定向到rsync.bat这个文件中
#更多的信息可以查看rsync的帮助 
echo test > C:"\Program Files"\cwRsync\bin\rsync.pass
linux重定向#这句话是生成密码文件,密码的存放路径,密码是test,密码文件不需要用户名,只有密码就可以了 
"C:\Program Files\cwRsync\" 600 "/cygdrive/C/Program Files/cwRsync/bin/rsync.pass"
#使用cwrsync自带的chmod给密码文件赋予600的权限,一定要注意格式,这里是模拟了linux的用法,不要搞错了,注意两点一个是cygdrive和反斜线 
at 12:00 /interactive /every:m,t,w,th,f "C:\Program Files\cwRsync\bin\rsync.bat"
#win自带的一个服务,将添加我们创建的脚本到任务计划,注意这个任务计划的作者是system用户
#at是命令,必须保证task scheduler服务是启动的 12:00任务计划在12点执行,/interactive任务计划和桌面有交互,用户能看见弹出的cmd窗口
#/every:m,t,w,th,f 周一至周五执行任务计划 "C:\Program Files\cwRsync\bin\rsync.bat"命
令具体路径
#关于at的更多用法大家还是多看看帮助文件吧
将下载回来的和我们的install.bat压缩到一起,压缩名是text.rar,客户端就制作完成了,可以发布给客户使用,其中的细节根据自己的情况作修改吧 
(注:以上内容属于计划任务,为了让Rsync能够自动定时执行同步,可以不用以上命令,而直接使用Windows任务计划工具)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。