rsync

Rsync文件同步工具

概念

rsync是类unix系统下的数据镜像备份工具——remote sync一款快速增量备份工具 Remote Sync远程同步 支持本地复制或者与其他SSHrsync主机同步

特点

1、可以镜像保存整个目录树和文件系统
 2、可以很容易做到保持原来文件的权限时间软硬链接等等
 3、无须特殊权限即可安装
 4、优化的流程文件传输效率高
 5、可以使用rcpssh等方式来传输文件当然也可以通过直接的socket连接
 6、支持匿名传输

1. 原理

Rsync 使用所谓的Rsync 演算法来使本地和远程两个主机之间的文件达到同步这个算法只传送两个文件的不同部分而不是每次都整份传送因此速度相当快Rsync server 会打开一个873的服务通道port),等待对方 Rsync 连接连接时Rsync server 会检查口令是否相符若通过口令查核则可以开始进行文件传输第一次连通完成时会把整份文件传输一次下一次就只传送二个文件之间不同的部份

 

2. Rsync两种工作方式

1) 传输本地文件

2)传输服服务端和客户端之间的数据

3. 安装配置服务器端服务器与客户端

1. yum install rsyncyum安装

2. 更改rsync的配

3. 置文件vi /etc/rsyncd.conf如果rsync.conf不存在则自己创建

#全局参数

 

*uid = root  #该选项指定当该模块传输文件时守护进程应该具有的uid配合gid选项使用可以确定哪些可以访问怎么样的文件权限默认值是nobody

*gid = root  #该选项指定当该模块传输文件时守护进程应该具有的gid默认值是nobody

log file = /var/log/rsyncd.log  #指定 rsync 守护进程的日志文件而不将日志发送给 syslog

*use chroot = no

*max connections = 4

*lock file = /var/run/rsync.lock  #指定支持 max connections 参数的锁文件

pid file = /var/run/rsyncd.pid #rsync 的守护进程将其 PID 写入指定的文件

#模块参数

[test]

comment = this is test  #给模块指定一个描述该描述连同模块名在客户连接得到模块列表时显示给客户

path = /rsync  #指定当前模块在rsync服务器上的同步路径该参数是必须指定的

ignore errors = yes   # 指定  rsync 服务器上运行 delete 操作时是否忽略 I/O 错误一般来说 rsync 在出现 I/O 错误时将将跳过 –delete 操作以防止因为暂时的资源不足或其它 I/O 错误导致的严重问题

read only = no  #指定是否允许客户上传文件若为 true 则不允许上传若为 false 并且服务器目录也具有读写权限则允许上传

list = yes   #指定当客户请求列出可以使用的模块列表时该模块是否应该被列出如果设置该选项为 false可以创建隐藏的模块

auth users = root # 认证的用户名rsync的用户

secrets file = /etc/rsyncd.secrets  # 密码存放文件与上面的用户名匹配

hosts allow=192.168.1.24  # 允许哪些主机访问  *表示都可以 hosts deny = *  # 禁止哪些主机访问

参数说明易懂):http://blog.chinaunix.net/uid-20794164-id-1840726.html

参数命令易懂):http://blog.sina.com.cn/s/blog_4128ae07010113r5.html

参数命令说明全面):http://www.cnblogs.com/hbycool/articles/2159392.html

配置好rsyncd.conf要创建认证的用户名密码文件rsyncd.secrets

格式用户名密码  例如  root:666)

chmod 600 /etc/rsyncd.secrets要将权限改为600,不然报错

启动rsync

rsync -–daemon –config=/etc/rsyncd.conf

可能报错failed to create pid file /var/run/rsyncd.pid: File exists):这是个认证pid的文件因为要写入可能是冲突了所以删除重建

删除这个文件rm -rf /var/run/rsyncd.pid

然后再次启动

查看进程

ps -ef | grep rsync 

root      3387  0.0  0.0 114640   552 ?        Ss   17:12   0:00 /usr/bin/rsync --daemon

root      3423  0.0  0.0 112656   980 pts/0    S+   17:14   0:00 grep --color=auto rsync

这就是启动了然后设置客户端

4. 客户端服务器与客户端

1. 安装rsync

2. 同样要创建一个认证密码文件同样要修改为600权限内容格式为 password只需要写密码就可以

3. rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd.secrets root@192.168.1.101::test   /rsync从服务端拉取文件

4. rsync -vzrtopg --progress --password-file=/etc/rsyncd.secrets /rsync/* root@192.168.1.101::test向服务器上传文件

  -v表示verbose(详细)
    -z表示zip压缩
    -r表示recursive递归目录
    -topg是保持文件原有属性如o=owner(属主)、t=times(时间)、p=perms(权限)、 g=group()的参数
    -H表示保持硬连接
    -l保留软链结
    -u表示只更新源文件比目标时间新的文件
    --progress是指显示出详细的进度情况
    --delete是指如果服务器端删除了这一文件那么客户端也相应把文件删除保持真正的一致

--password-file 认证密码的文件

root@192.168.1.101::test我的认证用户为root192.168.1.101是我的服务端iptest是我服务器配置的模块

/rsync  这是我将服务器上共享的内容放在客户端的这个文件

-这就完成了基本的文件共享

这是我出现的错误

1. 前用的服务器与Linux配置的但是总是报错不成功最后改为两个虚拟机

2. @ERROR: auth failed on test   这是rsync的test模块配置出问题了我是认证用户名出错了

3. @ERROR: access denied to test from unknown (192.168.1.24) 是连接的出错了

4. rsync: failed to connect to 192.168.1.42 (192.168.1.42): No route to host (113)
rsync error: error in socket IO (code 10) at clientserver.c(122) [sender=3.0.9]

需要关闭防火墙或者让防火墙允许不然报错

5. 还有给文件权限

5. 服务端与客户端双向时时同步

原理

Rsync 是基于rsync算法校验源(SRC)与目标(DEST)之间的差异实现数据同步的也就是说当使用rsync工具同步数据时候只复制源(SRC)发生改变的文件到目标(DEST),这类似于增量备份所以rsync同步数据的速度是很快的但是rsync的传输性能有点差在海量小文件需要同步时表现很差劲因为rsync是基于文件同步的(不是块级别的),在传输之前还要进行校验

   Rsync的工作模式有多中使用rsync的服务模式来构建/从服务器的数据同步此时rsync工作为守护进程监听在TCP/873, 能接收客户端的数据同步请求

配置与实现方法

1、http://blog.csdn.net/adparking/article/details/7636617

2、http://9528du.blog.51cto.com/8979089/1545880/

3、http://blog.sina.com.cn/s/blog_9f4962b10102vqua.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值