rsync实现windows与Linux同步文件

 

  
  
  
  
  1. Linux为服务端,windows为客户端
  2. 实验环境
    Linux:CentOS 5.5X_64 IP: 192.168.10.36
    windows: windows 7 IP :192.168.10.121
  3. 配置好yum,安装rsync软件
  4. [root@test ~]# rpm -qa |grep rsync
    rsync-3.0.6-4.el5_7.1
  5. 手动建立同步配置文件rsyncd.conf
  6. [root@test ~]# vi /etc/rsyncd.conf
    logfile=/var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
  7. [tongbu]
    path = /data/tongbu //要同步的Server端目录
    comment = tongbu //定义的模块名字,与[tongbu]一致
    uid = root
    gid = root
    port = 873
    read only = yes
    auth users = backupuser  //同步授权帐户
    secrets file = /etc/rsync.pass //同步密码验证文件
    host allow = 192.168.10.121  //允许同步的机器IP
    list = yes  //显示服务端的资源列表
    退出保存
  8. 建立同步用户并设置密码
    [root@test ~]# useradd backupuser
    [root@test ~]# passwd backupuser
  9. 建立密码验证文件
    [root@test ~]#  echo "backupuser:p@ssw0rd" > /etc/rsyncd.pass  (backupuser:p@ssw0rd为用户和密码,格式为user:passwd)
  10. 建立服务端数据目录
    [root@test ~]# mkdir -pv /data/tongbu
  11. 设置配置文件及验证文件所有者读取写入权限
    [root@test ~]# chmod 600 /etc/rsyncd.conf
    [root@test ~]# chmod 600 /etc/rsync.pass
  12. 启动rsync服务,并查看是否正常启动
    [root@test ~]# rsync --daemon
    [root@test ~]# lsof -i:873
    COMMAND  PID USER   FD   TYPE DEVICE SIZE NODE NAME
    xinetd  3302 root    5u  IPv4  11305       TCP *:rsync (LISTEN)  //正常监听
  13. 设置开机自动启动
    [root@test ~]# chkconfig --level 35 rsync on

  14. 二.Client端的配置(windows)
    1,安装cwRsync工具,http://fengyu.souidc.org/source/cwRsync_Client_2.0.10_Installer.zip
    解压安装,这里我安装在D:\Program Files (x86)\cwRsync下面
  15. 2、建立客户端密码验证文件,假如此时放在本地的D盘rsync目录下面,名称是rsync.pass,内容为服务器端密码验证文件中的密码,这里是p@ssw0rd
  16. 3、在本地例如D盘建立一个tongbu的文件夹,用于存放从服务端同步过来的数据
  17. 4、打开cmd.exe,进入执行目录bin下面
  18. cd D:\Program Files (x86)\cwRsync\bin 接着回车
    输入 telnet 192.168.10.36 873看看能不能telnet到服务器上,出现telnet对话框表示可以成功连接
    接着输入以下命令进行同步
  19. rsync --port=873 -vzrtopg --progress --password-file=/cygdrive/d/rsync/rsyncd.pass --delete [email protected]::tongbu /cygdrive/d/tongbu
  20. 选项说明:
  21. --port  同步使用端口
     
    -vzrtopg --progress 显示同步的过程
     
    --password-file=/cygdrive/d/rsync/rsyncd.pass  密码验证文件
  22. --delete  将本地的文件夹与服务器上的要同步的文件夹进行对比,把本地与服务器端不同的数据删除,从而保持两者数据一致
  23. [email protected]::tongbu 服务器端定义的/etc/rsyncd.conf中定义的模块名称
  24. /cygdrive/d/tongbu  本地D盘下的同步文件夹
  25.  
  26. 此时会提示输入同步帐户的密码,这里是p@ssw0rd,如果同步成功会在第三部建立的目录中产生同步的文件
  27. 这里为了可以实现自动化同步,可以写一个bat的批处理文件
  28. @echo off
    echo.
    echo 开始同步数据,请稍等....
    echo.
    cd D:\Program Files (x86)\cwRsync\bin
    rsync --port=873 -vzrtopg --progress --password-file=/cygdrive/d/rsync/rsyncd.pass --delete [email protected]::tongbu /cygdrive/d/tongbu
    echo.
    echo 数据同步完成
    echo.
  29. 保存为.bat后双击可以实验自动同步,如果完全自动同步可以使用win下任务计划 
  30. 如果想把windows下面的文件同步到linux上,可以把脚本中的命令顺序改变一下即可
  31.  
  32. @echo off
    echo.
    echo 开始同步数据,请稍等....
    echo.
    cd D:\Program Files (x86)\cwRsync\bin
    rsync --port=873 -vzrtopg --progress /cygdrive/d/tongbu --delete [email protected]::tongbu --password-file=/cygdrive/d/rsync/rsyncd.pass
    echo.
    echo 数据同步完成
    echo.
  33. 此时就可以把win下面的文件同步到linux上,感觉不错吧!!!!

 

你可能感兴趣的:(rsync实现windows与Linux同步文件)