Rsync 的工作方式

一、单个主机本地之间的数据传输,相当于cp

[heavenfish@A~]$ cp /etc/hosts /tmp

[heavenfish@A ~]$ rsync /etc/hosts/tmp

二、接触ssh等通道来传输数据,相当于scp

[heavenfish@A~]$ rsync -avz 1.txt -e 'ssh -p 52113' 192.168.100.62:~

sendingincremental file list

  1. txt

 

sent 92bytes  received 37 bytes  258.00 bytes/sec

total size is 9  speedup is 0.07

 

-avz 生产环境的参数

--bwlimit=100 限制传输速度

三、以守护进程(socket)的方式传输数据(重点)

①、部署准备工作

测试机A 192.168.100.61

测试机B 192.168.100.62

②、Rsync server:需要部署什么

1、  配置文件 /etc/rsyncd.conf(用户rsync,目录,模块,虚拟用户,密码文件)

2、  创建共享目录

3、  创建rsync用户,并且授权访问共享目录

4、  创建密码文件,复制配置文件里的路径、然后添加密码内容

内容:虚拟用户名:密码

5、  密码文件的权限600

6、  rsync –daemon 然后放入/etc/rc.local

7、  tail /var/log/rsyncd.log

***********************以下是配置文件*****************************************

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

[oldboy]

path = /oldboy/

ignore errors

read only = false

list = false

hosts allow = 198.168.100.0/24

hosts deny = 0.0.0.0/32

auth users = rsync_backup

secrets file = /etc/rsync.password

***********************以上是配置文件*****************************************

③、rsync client (可以有多个)

1、  密码文件和服务端没有任何关系

--password-file=/etc/rsync.password 内容:密码

2/etc/rsync.password          权限600

④、rsync的用法

<1>

rsync –avz rsync_backup@192.168.100.61::oldboy/data –password-file=/etc/rsync.password

rsync –avz rsync://rsync_backup@192.168.100.61/oldboy/data –password-file=/etc/rsync.password

 

<2>

rsync –avz /data/ rsync_backup@192.168.100.61::oldboy–password-file=/etc/rsync.password

rsync –avz /data/ rsync://rsync_backup@192.168.100.61/oldboy–password-file=/etc/rsync.password


⑤、排错:

1、  iptables selinux 关闭

2、  /var/log/rsyncd.log

3、  整个部署流程整体考虑排查

4、  操作习惯当做一个大事!!!