一、什么是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
版权声明:博主文章,可以不经博主允许随意转载,随意修改,知识是用来传播的。