CentOS 使用 rsync 同步文件

rsync 是一个常用的 Linux 应用程序,用于文件同步。rsync 服务可以实现数据的同步,但不是自动同步。

我们将A源服务器(192.168.201)指定的目录同步到B目标服务器(192.168.200)指定的目录。

因此B服务器需要在873端口开启rsync服务,A服务器仅使用rsync命令就可以实现文件同步。

我们这里使用虚拟机,具体操作请参考 VirtualBox5虚拟机安装CentOS-7-x86_64

首先B服务器(192.168.200)搭建 rsync 环境

1. 关闭SELINUX,省略

2. 然后启动双网卡,配置静态IP(192.168.0.200),省略

3. 服务器端开启 873 端口

	yum -y install iptables-services

	vi /etc/sysconfig/iptables
	
		-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT

		-A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
		
	:wq
 
	systemctl disable firewalld.service

	systemctl enable iptables.service

4. 安装  rsync

    yum -y install rsync

5. 添加启动用户,如果我们同步的是Web目录,且使用apache或者nginx的话,可以直接使用它们对应的用户

	groupadd rsyncuser
 
	useradd -g rsyncuser rsyncuser -s /sbin/nologin

6. 修改配置文件

	vi /etc/rsyncd.conf

		uid = rsyncuser				#设置rsync运行用户
		gid = rsyncuser				#设置rsync运行用户
		use chroot = yes
		max connections = 4
		
		pid file = /var/run/rsyncd.pid
		lock file = /var/run/rsync.lock
		log file = /var/log/rsyncd.log
		auth users = opuser			        #用户认证
		secrets file = /etc/rsyncd.pswd		#用户认证配置文件
		
		exclude = lost+found/
		transfer logging = yes
		timeout = 900
		ignore nonreadable = yes
		dont compress   = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
		
		[tongbu]
		path = /data/www/Public
		comment = tongbu export area
		ignore errors = yes			    #忽略IO错误
		read only = no				    #设置rsync服务端文件为读写权限
		list = no 				        #不显示rsync服务端资源列表
		hosts allow = 192.168.0.201		#允许进行数据同步的客户端IP地址
		#hosts deny = *				    #禁止数据同步的客户端IP地址
		
	:wq

7.  创建客户端密码文件

	vi /etc/rsyncd.pswd
		opuser:QAZ123WSX456
	:wq
	chmod 600 /etc/rsyncd.pswd

8. 启动rsync服务

    systemctl start rsyncd.service
	systemctl enable rsyncd.service
	netstat -lnp|grep 873

9. 创建/data/www/Public目录,并随意写一个text.txt文件

	mkdir /data
	mkdir /data/www
	mkdir /data/www/Public
		
	chown -R rsyncuser:rsyncuser /data/www/Public	

	cd /data/www/Public
	echo "hello" > hello.txt
	ls

到这里位置,环境就配置完了,下面来给A服务器(192.168.0.201)安装 rsync 

1. 关闭SELINUX,省略

2. 然后启动双网卡,配置静态IP(192.168.0.201),省略

3. 安装  rsync

yum -y install rsync

4. 创建客户端密码文件,注意这里只有密码!!!

	vi /etc/rsyncd.pswd
		QAZ123WSX456
	:wq
	chmod 600 /etc/rsyncd.pswd

5. 我们在A服务器(192.168.0.201)上执行如下命令,即可同步上面的hello.txt文件

    mkdir /data
    mkdir /data/www
    mkdir /data/www/Public
    cd /data/www/Public
		
    rsync -avz opuser@192.168.0.200::tongbu --password-file=/etc/rsyncd.pswd /data/www/Public/
		
    ls

从截图里面可以看到,我们已经从把B服务器上面的文件同步到了本地。

6. 从本地A服务器推送给B服务器文件:

	cd /data/www/Public

	echo "hi" > hi.txt

	rsync -avz /data/www/Public/ opuser@192.168.0.200::tongbu --password-file=/etc/rsyncd.pswd

去B服务器的/data/www/Public/目录看看,是否存在 hi.txt 文件吧!

rsync服务可以实现数据的同步,但不是自动同步,需要用到inotify进行自动监控。

sersync其实是利用inotify和rsync两种软件技术来实现数据实时同步功能的,

inotify是用于监听sersync所在服务器上的文件变化,

结合rsync软件来进行数据同步,将数据实时同步给客户端服务器。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咆哮的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值