使用rsync来实现文件同步_win服务器

rsync ->>> remote synchronize
呵呵,不用解释了吧,还是解释一下吧,文件同步的意思的说。。。

第一步,先来下载这个免费的软件。

rsync.samba.org/ 或者 samba.anu.edu.au/rsync
本站最新版本下载地址
http://www.jb51.net/softs/2149.html
PS:一定要去官方网站下载最新的版本,
因为2.6.1之前的版本有配置模块路径穿越漏洞。。。

解压缩后,编译很简单
./configure –prefix=/usr/local/rsync && make && make install

然后先来配置服务端吧

先来编辑服务端配置文件

#vi /etc/rsyncd.conf

#全局配置
uid = root
gid = root
hosts allow = 192.168.0.0/24
#hosts deny = 0.0.0.0/32

use chroot = no # 不使用chroot
max connections = 10 # 最大连接数为10
#motd file = /etc/rsyncd.motd #欢迎信息文件名称和存放位置(此文件没有,可以自行添加)
pid file = /var/run/rsyncd.pid #指定rsync的pid文件
lock file = /var/run/rsync.lock #指定支持max connections参数的锁文件,默认值是/var/run/rsyncd.lock
log file = /var/log/rsyncd.log #指定rsync的日志文件,而不将日志发送给syslog

#下面就是每个模块的配置了
[rsync_module_name1] # 这里是认证的模块名,在client端需要指定
path = /rsync_path/dir1 # 需要做镜像的目录
comment = rsync files
ignore errors # 可以忽略一些无关的IO错误
read only = yes # 只读
list = no # 不允许列文件
auth users = rsync_user # 认证的用户名,如果没有这行,则表明是匿名,多个用户用,分隔
secrets file = /etc/rsyncd.pas # 认证文件名
#pid file = /var/run/rsyncd.pid
#log file = /var/log/rsyncd.log
#lock file = /var/run/rsync.lock

[rsync_module_name2]
……

其中,个人认为,没项配置都可以既在全局配置,也可以在模块内部配置,其中如果模块内部如果有与全局相同的配置,
则模块内部的配置覆盖全局的配置。

然后编辑你上面指定的认证文件,我这里是: /etc/rsyncd.pas

#vi /etc/rsyncd.pas
格式为: username:password
rsync_user:rsyncofpass

安全起见,更改认证文件属性
#chmod 0600 /etc/rsyncd.pas

ok,现在启动下试试看吧。

#/usr/local/rsync/bin/rsync –daemon
你也可以指定rsync运行的端口
#/usr/local/rsync/bin/rsync –daemon –port=873

如果要在启动时把服务起来,有几种不同的方法,比如:

加入inetd.conf
编辑/etc/services,加入rsync 873/tcp,指定rsync的服务端口是873
编辑/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync –daemon

加入rc.local

在各种操作系统中,rc文件存放位置不尽相同,可以修改使系统启动时rsync –daemon加载进去。

我这里是直接加入 /etc/rc.local
/usr/local/rsync/bin/rsync –daemon –port=873
873就是rsync的默认端口号。

记得配置防火墙,允许你rsync端口的tcp和udp协议。
873:tcp 873:udp

下面开始配置客户端

下面这个命令行中-vzrtopg里的v是verbose,
z是压缩传输,
r是recursive,
topg都是保持文件原有属性如属主、时间的参数。
u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器的时钟的同步。
–progress是指显示出详细的进度情况,
–delete是指如果服务器端删除了这一文件,那么客户端也相应把文件删除,保持真正的一致。
后面的rsync_user@192.168.0.2::rsync_module_name1中,之后的rsync_module_name1是模块名,也就是在/etc/rsyncd.conf中自定义的名称,rsync_user是指定模块中指定的可以同步的用户名。
最后的/tmp是备份到本地的目录名。
在这里面,还可以用-e ssh的参数建立起加密的连接。
可以用–password-file=/password/path/file来指定密码文件,这样就可以在脚本中使用而无需交互式地输入验证密码了,这里需要注意的是这份密码文件权限属性要设得只有属主可读。

#/usr/local/rsync/bin/rsync -vzrtopg –progress –delete rsync_user@192.168.0.2::rsync_module_name1 /tmp/
Password:
或者你也可以制定password文件
由于需要系统crontab执行,所以这里采用读入密码文件的方式,
这个时候就成功了。

#vi /etc/rsyncd.pas
加入
rsync_user:rsyncofpass
注意,客户端的密码文件只需要密码,而不需要用户名!

rsyncofpass

更改文件权限:
#chmod 0600 /etc/rsyncd.pas

#/usr/local/rsync/bin/rsync -vzrtopgu –progress –delete –password-file=/etc/rsyncd.pas rsync_user@192.168.0.2::rsync_module_name1 /tmp/
不知道为什么,总是提示下面的认证错误
@ERROR: auth failed on module rsync_module_name1
rsync error: error starting client-server protocol (code 5) at main.c(1383) [receiver=2.6.9]
郁闷了,怎么都搞不定,还希望有经验的朋友给提供一下支持。。。

在今天在客户端密码文件只输入密码后,终于成功了

以后有时间再研究认证问题吧,时间紧,任务急,把验证先绕过。

时间: 2024-10-01 23:16:26

使用rsync来实现文件同步_win服务器的相关文章

linux系统中Rsync + Lsync实时文件同步配置详解

使用Rsync + Lsync可实现实时文件同步,本文就介绍如何配置Rsync + Lsync.并测试文件同步功能. 服务器信息: 主:10.86.255.154 从:10.86.255.155 1.从服务设定. 1.1.安装配置rsync xinet. # yum -y install rsync xinet # cp /etc/xinetd.d/rsync /etc/xinetd.d/rsync.bkp0625 # vim /etc/xinetd.d/rsync  # default: of

rsync 如何排除文件同步指定的文件夹

很常见的情况:我想同步/下的 /usr /boot/ , 但是不想复制/proc /tmp 这些文件夹 如果想避开某个路径 直接添加–exclude 即可 比如–exclude "proc" –exclude 'sources' Note: the directory path is relative to the folder you are backing up. 注意:这个路径必须是一个相对路径,不能是绝对路径 例子:源服务器/home/yjwan/bashshell有一个che

rsync实现linux文件同步到windows配置详解

说明: 本篇文章实现linux定时将www,msyql,svn目录rsync到win2003指定目录上. win2003安装CWRsync,做为rsync的server端,运行CWRsync守护进程daemon,接受linux同步过来的文件: linux为centos,本身就有rsync,按时rsync文件到win上. 环境: win2003 192.168.1.2 CWRsync rsyncd服务端,以daemon守护进程运行 linux 192.168.1.3 rsync客户端 实现: 1.

linux文件同步之rsync学习(一)

这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsync的工作原理 3. rsync优点 4. rsync认证方式 5. 安装rsync 6. rsync命令参数详解 7. 配置rsync 8. rsync的启动与关闭 9. rsync同步实例 说明:rsync服务器与客户端使用的OS均为:centos 6.5 64bit. 一.rsync是什么 在开始正式学习rsync之前,我们先来回答这个问题

linux文件同步之rsync

这几天刚好有空就打算开始学习linux下的文件同步软件rsync,在学习rsync时,我们可以分以下几个步骤进行: 1. rsync是什么 2. rsync的工作原理 3. rsync优点 4. rsync认证方式 5. 安装rsync 6. rsync命令参数详解 7. 配置rsync 8. rsync的启动与关闭 9. rsync同步实例 说明:rsync服务器与客户端使用的OS均为:centos 6.5 64bit. 一.rsync是什么 在开始正式学习rsync之前,我们先来回答这个问题

在Windows中配置Rsync同步文件的方法_win服务器

Rsync是一款不错的文件免费同步软件,可以镜像保存整个目录树和文件系统,同时保持原来文件的权限.时间.软硬链接.第一次同步时 rsync 会复制全部内容,下次只传输修改过的文件部分.传输数据过程中可以实行压缩及解压缩操作,减少带宽流量.支持scp.ssh及直接socket方式连接,支持匿名传输.支持Linux,Window平台.写本文的时候,window版最新版为4.0.5版 官网:http://rsync.samba.org/ Linux版下载:http://rsync.samba.org/

利用Rsync服务让SLB下多台centos服务器文件同步更新

利用Rsync服务让SLB下多台centos服务器文件同步更新 因为易淘帮使用了SLB负载均衡,为了保证SLB下两台服务器下面的网站文件同步,易淘帮采用了rsync服务进行同步,并进行了每三分钟同步一次.根据这样操作可以完美的使用slb服务,实现负载均衡.容灾恢复. 一. 介绍 rsync – remote synchronize是类unix系统下的数据镜像备份工具,它的特性如下: 1. 可以镜像保存整个目录树和文件系统. 2. 可以很容易做到保持原来文件的权限.时间.软硬链接等等. 3. 无须

一分钟了解阿里云产品:利用Rsync服务SLB下多台centos服务器网站文件同步更新

易淘帮使用了SLB负载均衡,为了保证SLB下两台服务器下面的网站文件同步,易淘帮采用了rsync服务进行同步,每三分钟进行同步一次.   简单介绍下reync,rsync-remote synchronize是类unix系统下的数据镜像备份工具,它的特性如下: 1.  可以镜像保存整个目录树和文件系统. 2.  可以很容易做到保持原来文件的权限.时间.软硬链接等等. 3.  无须特殊权限即可安装. 4.  快速:第一次同步rsync会复制全部内容,当在下一次只传输修改过的文件.Rsync在传输数

RSync实现文件同步备份配置详解_服务器其它

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