rsync复制

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync复制相关的知识,希望对你有一定的参考价值。

环境:
操作系统:CentOS 7u3
源服务器:192.168.30.147
目标服务器:192.168.30.148
目的:把源服务器上/home_test目录实时同步到目标服务器的/home_test下

首先关闭两台设备的selinux
临时更改为setenforce 0,永久更改为修改/etc/sysconfig/selinux,将SELINUX=enforcing修改为SELINUX=diabled或者SELINUX=permissive

一、在目标服务器安装Rsync服务端(centos2)
安装Rsync服务端软件
rhel7:
#yum -y install rsync
创建rsyncd.conf配置文件
#vi /etc/rsyncd.conf #7上有默认配置文件,rhel6上没有默认文件要自己创建配置文件,添加以下代码
log file = /var/log/rsyncd.log
pidfile = /var/run/rsyncd.pid?
lock file = /var/run/rsync.lock?
secrets file = /etc/rsync.pass? #用户认证配置文件,里面保存用户名称和密码,后面会创建这个文件
motd file = /etc/rsyncd.Motd? #rsync启动时欢迎信息页面文件位置(文件内容自定义)
[home_test] #同步模块名称
path = /home_test #rsync服务端数据目录路径
comment = home_test
uid = root
gid = root
port=873?
use chroot = no
read only = no?
list = no #不显示rsync服务端资源列表
max connections = 200
timeout = 600?
auth users = user1 #执行数据同步的用户名,可以设置多个,用英文状态下逗号隔开
hosts allow = 192.168.30.147?#允许进行数据同步的客户端IP地址,可以设置多个,用英文状态下逗号隔开
hosts deny = *

创建用户认证文件
#vim /etc/rsync.pass
user1:123456 #格式,用户名:密码,可以设置多个,每行一个用户名:密码,或者用echo"user1:123456" > /etc/rsync.pass

设置文件权限
chmod 600 /etc/rsyncd.conf #设置文件所有者读取、写入权限
chmod 600 /etc/rsync.pass #设置文件所有者读取、写入权限

mkdir /home_test

启动rsync
centos7 :
#systemctl restart rsyncd

centos 6:需要yum -y install xinetd服务
#/etc/init.d/xinetd start #启动
#service xinetd stop #停止
#service xinetd restart #重新启动

第二部分:在源服务器192.168.30.147上操作

一、安装Rsync客户端软件
#yum install rsync
创建认证密码文件
#vim /etc/rsync.pass
123456 #密码
chmod 600 /etc/rsync.pass #设置文件权限,只设置文件所有者具有读取、写入权限即可

mkdir /home_test/ceshi #在源服务器上创建测试文件夹,然后在源服务器运行下面命令

rsync -avH --port=873 --progress --delete /home_test/ user1@192.168.36.82::home_test/ --password-file=/etc/rsync.pass

测试成功

以上是关于rsync复制的主要内容,如果未能解决你的问题,请参考以下文章

linux rsync 复制文件忽略文件夹

12,RSYNC远程同步复制服务

markdown rsync - 备份/复制

markdown rsync - 备份/复制

sh rsync复制服务器到本地

sh 使用rsync复制文件