首页 > 代码库 > rsync的配置使用

rsync的配置使用

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的配置使用