导读 | 生产环境中数据同步是最常用的工具,特别是使用了LVS负载均衡的环境,web服务器上的代码需要同步,或者本地开发人员修改、上传了新代码文件需要同步到对应的项目服务器上都可以使用rsync 工具。 |
测试环境情况如下:
centos 6.5_64 位系统安装rsync 服务器,IP地址:192.168.31.10
一台centos 7系统作为客户端进行测试,IP地址:192.168.31.11
rsync 默认情况下系统已经安装,但是我这里重新编译安装了一份,作为独立服务运行
下载rsync 源码包
wget http://www.samba.org/ftp/rsync/rsync-3.1.2.tar.gz tar -zxvf rsync-3.1.2.tar.gz cd rsync-3.1.2
配置+编译安装
./configure --prefix=/usr/local/rsync -disable-ipv6 #默认情况下会开启ipv6 ,我们可以直接在编译的过程取消ipv6 make && make install
创建对应的配置文件
cd /usr/local/rsync mkdir etc mkdir var vim ./etc/rsyncd.conf log file = /usr/local/rsync/var/rsyncd.log pid file = /usr/local/rsync/var/rsyncd.pid lock file = /usr/local/rsync/var/rsyncd.lock secrets file = /usr/local/rsync/etc/rsyncd.pass motd file = /usr/local/rsync/etc//rsyncd.motd read only = yes hosts allow = 192.168.31.0/24 list = yes uid = nobody gid = nobody use chroot = no max connections = 60 [home_suse] path = /home/wwwroot/suse comment = www suse auth users = qxyrsy
rsync.conf 即为配置文件了,其中的信息大概说明一下
log file = /usr/local/rsync/var/rsyncd.log #定义日志文件 pid file = /usr/local/rsync/var/rsyncd.pid #定义PID文件 lock file = /usr/local/rsync/var/rsyncd.lock #支持max connections参数的锁文件 secrets file = /usr/local/rsync/etc/rsyncd.pass #定义客户端连接时认证的账号密码信息文件 motd file = /usr/local/rsync/etc//rsyncd.motd #rsync启动时欢迎信息页面文件位置(文件内容自定义) read only = yes #是否只读(若从客户端同步到服务器必须设置为NO) hosts allow = 192.168.31.0/24 #允许的IP地址段 list = yes uid = root #rsync以什么用户身份启动 gid = root use chroot = no max connections = 60 #最大连接数 [home_suse] #这里就是定义需要同步的目录了 path = /home/wwwroot/suse #具体文件目录地址 comment = www suse #描述信息,可以任意填写 auth users = qxyrsy #认证用户名,稍后会将该用户名写入rsyncd.pass 中
创建rsyncd.pass 用户密码文件
vim rsyncd.pass #用户名:密码 qxyrsy:123456 这里需要注意,rsyncd.pass 文件的权限必须设置为600 ,否则启动会报错的 chmod 600 rsyncd.pass
启动rsync 服务端,放行对应的端口
rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf & netstat -tunlp 可以看到监听端口为873 iptables -I INPUT -p tcp --dport 873 -j ACCEPT service iptables save
客户端配置
centos 只要不是最小化安装的系统,一般都已经预装好了rsync ,可以直接使用,不过可以先查看下
rpm -qa | grep rsync 客户端只需要新建一个密码文件即可,并且只填密码 cd /root vim rsyncd.pass 123456
保存退出,并且同样需要设置权限为600
测试是否能够获取服务端的文件:
rsync -arP --password-file=/root/rsyncd.pass qxyrsy@192.168.31.10::home_suse /home/rsyntest
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/121426.html