一、什么是rsync?
rsync是一款开源的,快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具。

rsync官网

http://rsync.samba.org/

  

二、rsync的工作方式

1、单个主机本地之间的数据传输

同步文件hosts到/data/tmp

> rsync /etc/hosts /data/tmp/

同步删除tmp目录中的文件

> rsync -r --delete /data/tmp2/ /data/tmp/

  

2、借助rcp,ssh等通道来传输数据

推文件,把本地hosts文件通过ssh同步到远程主机/data/tmp目录

> rsync -avzP -e 'ssh -p 22' /etc/hosts root@192.168.137.233:/data/tmp/

拉文件,把远程主机/data/tmp目录下文件拉到本地/data/tmp2目录下

> rsync -avzP -e 'ssh -p 22' root@192.168.137.233:/data/tmp/ /data/tmp2/

  

3、以守护进程的方式传输数据

 

三、rsync的常用参数

-v 详细模式输出,传输时的进度等信息
-z 压缩传输
-a 归档模式,等同于-rlptgoD
-r 递归模式
-t 保持文件时间
-o 保持文件属主
-p 保持文件权限
-g 保持文件属组信息
-P 显示同步过程及传输时的进度
-D 保持设备文件信息
-l 保留软链接
--exclude 排除指定文件
--exclude-from 排除文件的路径
--password-file 指定密码文件

  

四、rsync守护进程方式配置

> touch /etc/rsyncd.conf
#端口
port = 873
#用户
uid = nobody
#用户组
gid = nobody
#禁止使用chroot
use chroot = no
#最大连接数
max connections = 100
#PID文件路径
pid file = /var/run/rsyncd.pid
#锁文件路径
lock file = /var/run/rsyncd.lock
#日志文件路径
log file = /var/log/rsyncd.log
#忽略一些无关的IO错误
ignore errors
#认证的用户
auth users = rsync_backup
#密码文件路径
secrets file = /etc/rsyncd.secrets
#允许主机
hosts allow = 192.168.137.0/24
#禁止主机
hosts deny = *

#模块定义服务器哪个目录要被同步
[www.test.com]
path = /data/www/www.test.com
ignore errors
read only = false

[www.test2.com]
path = /data/www/www.test2.com
ignore errors
read only = false

配置密码文件

> echo 'rsync_backup:123456' > /etc/rsyncd.secrets

修改密码文件权限

> chmod 600 /etc/rsyncd.secrets 

以守护进程的方式启动服务

> /data/rsync/bin/rsync --daemon --config=/etc/rsyncd.conf

然后客户端就可以通过如下命令同步文件

> echo '123456' > /etc/rsync.pwd
> chmod 600 /etc/rsync.pwd

把服务器www.test.com模块同步到本地/data/www.test.com下

> rsync -avzP --password-file=/etc/rsync.pwd rsync_backup@192.168.137.222::www.test.com /data/www.test.com

  

posted on 2017-10-28 17:43  怀素真  阅读(456)  评论(0编辑  收藏  举报