• 转:使用rsync在linux(服务端)与windows(客户端)之间同步


    转自:http://blog.csdn.net/old_imp/article/details/8826396


    一 在linux(我用的是centos系统)上安装rsync和xinetd前先查看linux上是否已经安装:
    #rpm -qa|grep rsync

    #rpm -qa|grep xinetd

    若无则安装,或者使用tar编译安装

    #rpm -ivh rsync-2.6.8-3.1.rpm

    或者

    yum install rsync(这是我使用的方法)

    yum  install xinetd(这是我使用的方法)


    二 打开rsync服务
    #chkconfig xinetd on
    #chkconfig rsync on

    三 在/etc/目录下创建 rsyncd.conf 配置文件(设置成600权限)

    port =  873
    uid = root
    gid = root
    use chroot=no
    read only = yes
    hosts allow=*
    max connextions = 4

    [www] 
    path = /********/****l/****
    comment = BACKUP WWW
    ignore errors
    read noly = yes
    list = no
    auth users = root
    hosts allow = *
    secrets file = /etc/rsync.pass(文件名只是举例,包括后缀都可以自定义)
     
    配置文件中的参数含义可以参考http://hi.baidu.com/setcookie/item/14f9e8998ad1028858146135
     
    四 创建rsync.pass文件(设置成600权限)
    ,也就是rsync.conf文件中secrets file 指定的路径,输入linux系统中存在的账号密码
    账号:密码

     
    五 修改etc/xinetd/rsync 文件
    把disable = yes 改成 disable = no

    六 启动基于xinetd进程的rsync服务

    #/etc/init.d/xinetd start

     
    七 windows机器上安装cwrsync
     
    八 打开 linux上的873端口(rsync默认使用的端口)
     
    九 打开cmd 执行同步指令即可同步

    h:cwRsyncin sync.exe -vzrtopgu --progress --delete root@192.168.1.3::www /cygdrive/D/test

    然后就可以看到输入密码的提示,输入密码就开始同步了。
    解释一下:

    h:cwRsyncin sync.exe是rsync.exe的路径

    www就是rsync.conf文件中指定的模块名
    root@192.168.1.3是linux机器用户名,ip

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

    /cygdrive/E/test

     
    十 windows客户端设置cwRsync自动同步
    建立一个.bat文件,编辑输入以下命令内容后保存:
    h:cwRsyncin sync.exe -vzrtopgu --progress --delete root@xx.xx.xx.xx::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
    接下来按照需要创建windows的任务计划程序,在操作列表中添加启动这个.bat文件的操作。
    解释:
    password-file=/cygdrive/D/rsync.pass 指定了windows客户端机器上的密码文件位置。
    windows客户端上的密码文件格式和linux服务端上的格式不一样,只需要写密码即可。
    如果在cmd执行以上命令可以不输入密码,因为程序会自动读取输入的密码文件。
     
    十一安全起见有时需要更改rsync使用的端口
    1把服务器上需要使用的端口打开
    2修改服务器上的rsyncd.conf 配置文件
    port = (要使用的端口号)
    3本地客户端链接服务器备份的口令也得修改,加入--port=(端口号)
    例如:
    h:cwRsyncin sync.exe -vzrtopgu  --port=(端口号) --progress --delete root@xx.xx.xx.xx::www /cygdrive/G/backup --password-file=/cygdrive/D/rsync.pass
     
    十二 如果重启了服务器,客户端备份时出现错误提示Connection refused (111) 的解决办法
    完整错误提示:
    rsync: failed to connect to 10.10.10.170: Connection refused (111) 
    rsync error: error in socket IO (code 10) at clientserver.c(124) [receiver=3.0.5] 
    解决方法:
    服务端启动服务:rsync --daemon --config=/etc/rsyncd.conf
     

      二、rsync是(限制为 100k Bytes/s):

      #rsync -auvzP--bwlimit=100 本地的文件 远程的文件

      参数说明:

      v:详细提示

      a:以archive模式操作,复制目录、符号连接,等价于 -rlptgoD 。

      z:压缩

      u:只进行更新,防止本地新文件被重写,注意两者机器的时钟的同时

      P:是综合了--partial --progress两个参数,

      所以此时的rsync支持了断点续传

    实例 windows客户端从linux服务端同步资料

    rsync --port=873 --bwlimit=100 -vzrtopg --progress  --password-file=/cygdrive/d/rsyncd.passwd  funtoro@192.168.6.18::photo /cygdrive/d/rsynctest 
    

      

  • 相关阅读:
    宁泽涛世锦赛夺冠
    iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
    在xcode里面如何利用instrument
    Xcode 中搜索任何条件文本
    十大算法
    Object c中的alloc和init问题
    My97DaePicker 用js实现文本框日期相减求天数
    js 取消listbox选中的项
    C# OR/Mapping 数据处理模式学习
    ASP.NET实现列表页连接查询 拼接sql语句 绑定grivdView
  • 原文地址:https://www.cnblogs.com/saryli/p/5644836.html
Copyright © 2020-2023  润新知