Rsync(remote synchronize)是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件,也可以使用 Rsync 同步本地硬盘中的不同目录。
Rsync 是用于取代rcp的一个工具,Rsync使用所谓的 “Rsync 算法” 来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快。您可以参考 How Rsync Works A Practical Overview 进一步了解 rsync 的运作机制。
一、 安装
centos下安装,利用yum安装
yum install rsync xinetd
同时将/etc/xinetd.d/rsync中disable值改成disable=no
,重启xined服务即可。
二、配置
服务端配置
创建文件/etc/rsync.conf
uid = root
gid = root
port = 873
use chroot = no
max connections = 20
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
[src]
comment= source of projects
path =/root/projects
read only = true
list = false
ignore errors = yes
auth users = root
secrets file = /etc/rsyncd.secrets
[sync]
path = /data1/sync
read only = no
list = no
ignore errors = yes
上面有两种rsync目录,访问权限src目录和无访问权限sync目录
- 访问权限src目录:需要创建秘钥文件/etc/rsyncd.secrets,内容
david:asdf #格式 用户名:口令
同时修改文件权限chmod 600 /etc/rsyncd/rsyncd.secrets
- 无访问权限sync目录: 无权限,直接访问
客户端配置
直接安装rsync,利用rsync命令进行文件拷贝
对于有访问权限的rsync目录可以利用密码或者密码文件
rsync -avzP [--password-file=rsync.password] root@172.16.1.135::src/tmp/david/ /tmp
具体的rsync命令参数用法自己去搜吧,一大堆。