用rsync实现windows与linux文件同步的方法

windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org

安装过程要设置用于系统服务的帐号和密码,可以默认。
注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件。

安装完成后修改配置文件 rsyncd.conf, 配置文件内容如下:


代码如下:

port = 52326
use chroot = false
strict modes = false
#hosts allow = * #允许所有的访问
hosts allow = 192.168.10.2 #指定特定的IP允许访问
log file = rsyncd.log
lock file = rsyncd.lock
max connections = 10
UID = 0
GID = 0
# Module definitions
# Remember cygwin naming conventions : c:\work becomes /cygwin/c/work
#
[test]
path = /cygdrive/c/work
read only = false
transfer logging = no

[test2]
path = /cygdrive/d/wwwroot/yanghengfei_com
read only = yes
transfer logging = no
auth users = coldstar #同步使用的帐号
secrets file = rsyncd.secrets #密码文件

注:
rsyncd.secrets配置文件的格式为 用户名:密码,如:
coldstar:123456

即添加了一个用户 coldstar,密码为 123456。

Linux服务器上执行同步命令:

rsync -vzrtopg --progress --delete rsync://coldstar@192.168.10.1:52326/test2 /root/test2

然后在password: 提示符下输入密码即可。

也可以把密码写入配置文件引用,如:
rsync -vzrtopg --progress --delete --password-file=/etc/rsync.pass rsync://coldstar@192.168.10.1:52326/test2 /www/users/yanghengfei_com

将以上命令写入计划任务,每1分钟执行,即可实现实时同步的效果。

注:
上面这个命令行中-vzrtopg里的v是verbose,z是压缩,r是recursive,topg都是保持文件原有属性如属主、时间的参数。-- progress是指显示出详细的进度情况,--delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。

附,rsync使用时的常见问题:

错误1: rsync: read error: Connection reset by peer (104)
rsync error: error in rsync protocol data stream (code 12) at io.c(794) [receiver=3.0.2]
解决:很大可能是服务器端没有开启 rsync 服务。开启服务。 或者开启了防火墙指定的端口无法访问。

错误2:@ERROR: chdir failed
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端同步目录没有权限,cwrsync默认用户是Svcwrsync。为同步目录添加用户Svcwrsync权限。

错误3:@ERROR: failed to open lock file
rsync error: error starting client-server protocol (code 5) at main.c(1495) [receiver=3.0.2]
解决:服务器端配置文件 rsyncd.conf中添加 lock file = rsyncd.lock 即可解决。

错误4:@ERROR: invalid uid nobody
rsync error: error starting client-server protocol (code 5) at main.c(1506) [Receiver=3.0.2]
解决:在rsyncd.conf文件中添加下面两行即可解决问题
UID = 0
GID = 0

错误5:@ERROR: auth failed on module test2
rsync error: error starting client-server protocol (code 5) at main.c(1296) [receiver=3.0.2]
解决:服务端没有指定正确的secrets file,请在 [test2]配置段添加如下配置行:
auth users = coldstar #同步使用的帐号
secrets file = rsyncd.secrets #密码文件

错误6:password file must not be other-accessible
解决:客户端的pass文件要求权限为600, chmod 600 /etc/rsync.pass 即可。

(0)

相关推荐

  • linux rsync的安装与配置

    1.安装:yum -y install rsync 2.vim /etc/xinetd.d/rsync 复制代码 代码如下: service rsync{disable = nosocket_type = streamwait = nouser = rootserver = /usr/bin/rsyncserver_args = –daemonlog_on_failure += USERID} 3.vim /etc/rsyncd.conf(这个文件是手动创建,默认没有) uid = nobody

  • cwrsync实现从linux到windows的数据同步备份

    rsync的最新版本可以从http://rsync.samba.org/rsync/获得.它的特性如下: 1.可以镜像保存整个目录树和文件系统. 2.可以很容易做到保持原来文件的权限.时间.软硬链接等等. 3.无须特殊权限即可安装. 4.优化的流程,文件传输效率高. 5.可以使用rcp.ssh等方式来传输文件,当然也可以通过直接的socket连接. 本文介绍了如何使用rsync服务从Linux到Windows进行远程备份. 一.配置服务器端 首先我们需要配置rsync,打开配置文件/etc/xi

  • rsync中文手册之使用rsync实现网站镜像和备份linux第1/3页

    简介 对于选择Linux 作为应用平台的的中小型企业或网站来说,往往面临如何实现数据远程备份或者网站镜象的问题,虽然有商业化的备份和镜象产品可供选择,但这些产品的价格往往过于昂贵.因此如何利用自由软件高效实现远程备份和网站镜象就成为一个值得讨论的话题. 通过网络进行远程数据备份或者网站镜象的最简单的方法就是使用wget,但是这种方式每次都需要将所有数据都重新在网络上传输一遍,而不考虑哪些文件是经过更新的,因此效率非常低下.尤其在需要备份的数据量很大的时候,往往需要花费数个小时来在网络上进行数据传

  • Linux 命令之rsync命令详解

    rsync命令 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明. 语法 rsync [OPTION]... SRC DEST rsync [OPTION]... SRC [USER@]host:DE

  • Linux 服务器同步 Rsync同步服务器文件

    当一台服务器上的文件更新后,其它的服务器也需要更新,而且在更新的时 候应该是只对新增或是修改过的文件进行更新,否则会造成网络带宽和时间的浪费.rsync就是能有 效的保持文件及目录的一致的优秀软件. rsync,remote synchronize 顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的 权限.时间.软硬链接等附加信息,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另 外它还是免费的软件.rysnc的官方网站:http://rsync.sa

  • linux rsync同步命令(值得收藏)

    如果你是一位运维工程师,你很可能会面对几十台.几百台甚至上千台服务器,除了批量操作外,环境同步.数据同步也是必不可少的技能. 说到"同步",不得不提的利器就是rsync,今天就来说说我从这个工具中看到的同步的艺术. [不带任何选项] 我们经常这样使用rsync: 复制代码 代码如下: $ rsync main.c machineB:/home/userB 1 只要目的端的文件内容和源端不一样,就会触发数据同步,rsync会确保两边的文件内容一样. 2 但rsync不会同步文件的&quo

  • Linux 用cp和rsync同步文件时跳过指定目录的方法

    需求是:某测试站点,在某个节点的时候需要同步到正式站点去,但是里面的config目录不能覆盖, 方法一:终端命令行下执行以下命令 cp -R `find /projectA -type d -path /projectA/common/config -prune -o -print | sed 1d ` /projectB/ 方法二: localhost # find projectB/ommon/config | xargs touch 修改目标目录的congfig目录文件的access ti

  • Linux下rsync远程数据同步命令的详细介绍

    介绍 rsync命令是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件.rsync使用所谓的"rsync算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快. rsync是一个功能非常强大的工具,其命令也有很多功能特色选项,我们下面就对它的选项一一进行分析说明. 常用场景 无密码同步 服务端:vim /etc/rsyncd.conf #This is the rsync daemon configura

  • 用rsync实现windows与linux文件同步的方法

    windows做为文件服务器,使用rsync的windows服务版本:cwRsyncServer 下载地址:http://rsync.samba.org 安装过程要设置用于系统服务的帐号和密码,可以默认. 注:此帐号用于启用crsync server服务,需要分配给帐号对要同步文件的相应权限,否则无法操作被同步的文件. 安装完成后修改配置文件 rsyncd.conf, 配置文件内容如下: 复制代码 代码如下: port = 52326 use chroot = false strict mode

  • rsync指定ssh端口进行文件同步的方法

    有台服务器因为安全性需要,修改了默认的ssh端口为34778端口. 因此rsync使用ssh同步的时候需要指定ssh的端口 rsync提供了一个-e参数 -e参数的作用是可以使用户自由选择想使用的shell程序来连接远端服务器,因此也可以设置成使用默认的ssh来连接,这样我们就可以加入ssh的参数了 具体语句写法如下: rsync -e 'ssh -p 34778' username@hostname:SourceFile DestFile 单引号,目的是为了使引号内的参数为引号内的命令所用 实

  • python同步windows和linux文件

    写python脚本的初衷,每次在windows编辑完文件后,想同步到linux上去,只能够登录服务器,然后再利用网络copy,重复性很大,就想着能不能写一个小脚本帮我同步 逻辑:比对本地和服务器文件的md5,如果md5不一致,则备份服务器上的文件,将本地的给上传上去 代码分为windows端和服务器端,有些东西,都让python一个做了,写着有点累,就想着,能否服务端提供一个端口,windows去调用这个接口,来完成一部分工作 python代码如下: 需要额外安装的包为是paramiko,安装方

  • Ubuntu Server Rsync服务端与Windows cwRsync客户端数据同步配置方法

    说明: 1.Rsync服务端 系统:Ubuntu Server 11.10 IP地址:192.168.21.168 数据存放目录:/home/mysql_data 2.cwRsync客户端 系统:Windows Server 2003 IP地址:192.168.21.130 同步的目录:D:\mysql_data 实现目的: cwRsync客户端每天凌晨3:00钟自动同步Rsync服务端/home/mysql_data目录中的数据到D:\mysql_data目录 一.Rsync服务端配置 1.开

  • 你可能不知道的一些linux文件权限管理方法

    为什么需要权限管理? 1.计算机资源有限,我们需要合理的分配计算机资源. 2.Linux是一个多用户系统,对于每一个用户来说,个人隐私的保护是十分重要的 目录的 rwx 权限 当前用户:vagrant:vagrant 创建 testdir 目录,进入 testdir 目录内.创建文件 test. $ mkdir testdir $ cd testdir $ touch test 修改 testdir 权限为 000,尝试执行 ls testdir $ chmod 000 testdir $ ls

  • linux系统中rsync+inotify实现服务器之间文件实时同步

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了

  • xshell上传下载文件(Windows、Linux)

    经常有这样的需求,我们在Windows下载的软件包,如何上传到远程Linux主机上?还有如何从Linux主机下载软件包到Windows下:之前我的做法现在看来好笨好繁琐,不过也达到了目的,笨人有本方法嘛: 我是怎么操作的: 1.打开一台本地Linux虚拟机,使用mount 挂载Windows的共享文件夹到Linux上,然后拷贝数据到Linux虚拟机里面:(经常第一步都不顺利,无法挂载Windows的文件夹) 2.在本地Linux虚拟机使用rsync同步拷贝的数据到远程Linux主机上,需要双方都

  • windows下文件同步工具 CwRsync 4.0.2 安装配置方法(图文)

    CwRsync是基于cygwin平台的rsync软件包,支持windows对windows.windows对Linux.Linux对windows高效文件同步.由于CwRsync已经集成了cygwin类库,因此安装的时候可以省去cygwin包.Cwrsync还集成了OpenSSH for windows,可以实现Linux 下Rsync一模一样的操作.详细配置步骤如下: 一.服务器端安装配置 1.下载服务器端安装文件http://http://www.jb51.net/softs/55933.h

  • RSync实现文件同步备份配置详解

    一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等:

随机推荐