利用CwRsync实现linux与windows文件同步

一. Linux服务端步骤:

1.检查并确认相应的包已安装 

rpm -qa | grep xinetd
rpm -qa | grep rsync

#如果没有安装需要先安装成功
yum install xinetd
yum install rsync

2.修改/etc/rsyncd.conf配置文件添加配置项

uid=root
gid=root
use chroot=no
max connections=5
hosts allow=172.16.3.0/24
pid file=/var/run/rsyncd.pid
lock file=/var/run/rsync.lock
log file=/var/log/rsyncd.log

[db]                        #指定模块名称
path=/dbbak/          #指定需要同步的目录
comment= dbbackup rsync
ignore errors
read only = no
list = yes
auth users= root      #此处填写服务端系统账号
secrets file =/etc/rsyncd.secrets      #口令文件              

3.创建/etc/rsyncd.secrets口令文件

root:xxxxxxxx   #填写格式为用户名:密码

4.修改/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    #将yes改为no
        flags           = IPv6
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/bin/rsync
        server_args     = --daemon
        log_on_failure  += USERID
}

5.启动rsync服务并验证启动成功

#/etc/init.d/xinetd start

#chkconfig  xinetd on  #添加开机启动
#chkconfig  rsync on   #添加开机启动

#netstat -antlp | grep :873   #验证启动成功
tcp        0      0 :::873                      :::*                        LISTEN      27566/xinetd

  

二. windows客户端步骤:

1.windows客户端需要首先安装cwRsync_4.0.5_Installer 客户端软件

2.在指定目录创建口令文件例如:

 e:/dbbak/rsync.pass 文件内容只填写root账号对应的口令即可

 C:\Program Files (x86)\cwRsync\bin\rsync.exe  -vzrtu --delete root@172.16.4.21::db /cygdrive/e/dbbak --password-file=/cygdrive/e/rsync.pass

  /cygdrive/e/dbbak的含义是备份到windows本地的e:\dbbak路径,其他路径依葫芦画瓢即可,比如E:\test,写成 /cygdrive/E/test

3.创建计划任务定时从服务端同步文件,调用bat文件

@echo off

"C:\Program Files (x86)\cwRsync\bin\rsync.exe" -vzrtu --delete root@172.16.4.21::db /cygdrive/e/dbbak --password-file=/cygdrive/e/rsync.pass

 

注:

执行rsync同步时如果报错如下,需要修改密码文件的权限
password file must be owned by root when running as root:

(1).chmod.exe -c 600 /cygdrive/e/dbbak/rsync.pass

mode of `/cygdrive/e/dbbak/rsync.pass' changed to 0600 (rw-------)

(2).chown.exe administrator /cygdrive/e/dbbak/rsync.pass
如果没有chown,需要从服务端复制一个过来

posted @ 2018-03-13 09:01  2240930501  阅读(375)  评论(0编辑  收藏  举报