首页 > 代码库 > rsync--数据镜像备份_转

rsync--数据镜像备份_转

转载:rsync的配置使用

Rsync全称为remoterynchronization,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于scp命令,但优于scp。还可以在本地主机的不同分区或目录之间全量及增量的复制数据,这类似于cp命令,同样也优于cp命令。此外,rsync还可以实现类似rm的删除功能。

功能介绍:https://www.samba.org/ftp/rsync/rsync.html

rsync一般情况下会系统便会有这个软件,如果没有请自行安装。

rsync的三种工作模式:

1、单个主机本地进行数据传输   类似与cp命令   另外rsync还有删除功能

2、借助与rcp,ssh通道来进行传输       类似与scp功能

rsync -avz /etc/hosts -e ssh    192.168.12.246:/etc/init.d/

-a:保持文件自身属性       -z:压缩传输         -e:使用通信协议       -v:输出给出进度提示

将 本地的/etc/hosts文件  借助ssh通道来传输到192.168.12.246的/etc/init.d/目录下

3、以守护进程(socket)方式进行传输

当以守护进程的方式传输,需要新建该文件:vim  /etc/rsyncd.conf

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
[lzk]
path = /usr/local/tools/   同步的目录
ignore errors      忽略输出时错误提示
read only = false  读写
list = false
hosts allow = 192.168.12.0/24   允许的网段
hosts deny = 0.0.0.0/32
auth users = slave   认证的用户
secrets file = /etc/rsync.password  将客户端用户的密码写入该文件,不会在要求密码

 

当创建写好配置文件时使用rsync --daemon启动服务  查看873端口

[root@node1 ~]# lsof -i :873
COMMAND   PID USER   FD   TYPE DEVICE SIZE NODE NAME
rsync   17160 root    4u  IPv6 175668       TCP *:rsync (LISTEN)
rsync   17160 root    5u  IPv4 175669       TCP *:rsync (LISTEN)

 

在配置文件中我们定义的用户是rsync,所以我们现在创建虚拟用户

useradd rsync -s /sbin/nologin

 

将我们共享的文件目录赋予用户权限

chown rsync.rsync /usr/local/tools/

 

在配置文件中定义了密码文件,我们将认证用户和密码写入该文件中

 echo "slave:lzk.1995" > /etc/rsync.password

由于该文件是有我们认证的信息,所以要给最小的权限最安全  chmod 600 /etc/rsync.password

这时,我们的客户端就配置好了。

 

 

我们在客户端也需要创建rsync.password文件,当同步数据时,可以不显示密码提示

   echo "lzk.1995" > /etc/rsync.password

给该文件赋予最小最安全的权限

  chmod 600 /etc/rsync.password

 

配置到此,我们便可以通过客户端像服务器端推拉数据了

[root@node2 /]# rsync -avz slave@192.168.12.237::lzk /usr/local/tls/    
Password:

 

可以看出现在还是需要密码,我们添加格外参数

[root@node2 /]# rsync -avz slave@192.168.12.237::lzk /usr/local/tls/ --password-file=/etc/rsync.password
receiving file list ... done
./
memeda

sent 125 bytes  received 870686 bytes  1741622.00 bytes/sec
total size is 789158893  speedup is 906.23

 

注意:sync -avz slave@192.168.12.237::lzk   /usr/local/tls/ --password-file=/etc/rsync.password

上面标红的字母在ip后面是两个冒号,scp则是一个。另外lzk和服务器端配置文件中[lzk]是对应的。

rsync--数据镜像备份_转