centos7配置rsync+inotify数据实时共享
关于centos7版本上面搭建rsync服务并且实现实时同步
之前一直是在6版本上面搭建rsync服务,在7版本上面折腾了半天。此处总结下
inotify下载地址:http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
环境说明:
centos7版本上面已经默认安装了rsync和xinetd服务
[ root@rh6 ~ ]# rpm -ql rsync --在6版本上面执行此命令可以看到xinetd服务配置文件下面有rsync的子配置文件
/etc/xinetd.d/rsync
[ root@rh6 ~ ]# ls /etc/xinetd.d/sync
/etc/xinetd.d/rsync
[ root@centos7_3 ~ ]# rpm -ql rsync --在7版本上面执行此命令却找不到这样的配置文件,ls查看提示没有此文件
[ root@centos7_3 ~ ]# ls /etc/xinetd.d/sync
ls: cannot access /etc/xinetd.d/rsync: No such file or directory
————————————————————————————————————————————————————————
实验环境:两台centos7版本的宿主机
客户端:172.16.27.25
服务端:172.16.27.26
具体步骤:
服务端
[root@cc4 ~]# rpm -aq |grep xinetd
xinetd-2.3.15-13.el7.x86_64
[root@cc4 ~]# rpm -aq |grep rsync
rsync-3.0.9-17.el7.x86_64
[root@cc4 ~]# vim /etc/xinetd.d/rsync --说明:修改xinetd服务下面的配置文件,将rsync交给xinetd管理。此配置文件在7版本默认上面是没有的,我是直接从6版本复制过来的,也可以手写下面内容
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no --将原来的yes改为no
flags = IPv6
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
[root@cc4 ~]# vim /etc/rsyncd.conf --修改配置文件发布共享目录
[test]
path = /test --本地共享目录
auth user = user1 --指定用户同步
secrets file = /etc/rsyncd.secrets --指定保存用户密码文件
[root@cc4 ~]# systemctl restart xinetd --启动服务
[root@cc4 ~]# vim /etc/rsyncd.secrets --创建安全用户
user1:123
[root@cc4 ~]# chmod 600 /etc/rsyncd.secrets --设置安全用户文件的权限,不能被其他人查看
[root@cc4 ~]# mkdir /test --创建共享目录
[root@cc4 ~]# touch /test/file{1..10} --此处为了测试,创建几个文件
[root@cc4 ~]# ls /test/
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
客户端测试:
[root@cc3 ~]# rsync -a 172.16.27.26::
test
[root@cc3 date]# ls
[root@cc3 date]# rsync -av user1@172.16.27.26::test /date
receiving incremental file list
./
file1
file10
file2
file3
file4
file5
file6
file7
file8
file9
sent 219 bytes received 524 bytes 1486.00 bytes/sec
total size is 0 speedup is 0.00
[root@cc3 date]# ls --可以看见成功从上面同步过来了。
file1 file10 file2 file3 file4 file5 file6 file7 file8 file9
通过inotify+rsync架构实现实时同步
环境说明:要求node1主机上面的/node1目录发生新的创建,删除,移动,以及文件属性信息改变时,自动同不到node2主机的/node2目录
node1主机: IP 172.16.27.25
node2主机: IP 172.16.27.26
具体步骤:
node1端:
[root@cc3 tmp]# ls /tmp/inotify-tools-3.14.tar.gz
/tmp/inotify-tools-3.14.tar.gz
[root@cc3 tmp]# tar -xf inotify-tools-3.14.tar.gz
[root@cc3 tmp]# cd inotify-tools-3.14/
[root@cc3 inotify-tools-3.14]# ls
aclocal.m4 ChangeLog config.h.in configure COPYING INSTALL libinotifytools Makefile.am man NEWS src
AUTHORS config.guess config.sub configure.ac depcomp install-sh ltmain.sh Makefile.in missing README
[root@cc3 ~]# ./configure && make && make install --安装软件
[root@cc3 ~]# vim /tmp/1.sh
#!/bin/bash
/usr/local/bin/inotifywait -mrq -e modify,create,move,delete,attrib /node1 |while read events
do
rsync -a --delete /node1 172.16.27.26::test
echo "`date +'%F %T'` 出现事件 $events" >>/tmp/rsync.log 2>&1
done
[root@cc3 ~]#mkdir /node1
[root@cc3 ~]# touch /node1/testa{1..5}
node2端:
[root@cc4 ~]# vim /etc/rsyncd.conf
[test]
path = /node2/
read only = false
uid = root
gid = root
[root@cc4 ~]# mkdir /node2
[root@cc4 ~]# ls /node2/ --此时查看,该目录里面什么文件都没有
[root@cc4 ~]# systemctl restart xinetd
测试验证:
在node1端执行脚本并且放在后台执行,并且创建文件,再看tmp下面是否有创建文件后脚本执行报的日志信息
[root@cc3 ~]# nohup sh /tmp/1.sh &
[1] 14720
[root@cc3 ~]# nohup: ignoring input and appending output to ‘nohup.out’ --此处直接回车
[root@cc3 ~]# echo haha >>/node1/file1
[root@cc3 ~]# ls /tmp/rsync.log
/tmp/rsync.log
[root@cc3 ~]# cat /tmp/rsync.log
2017-10-10 15:55:01 出现事件 /node1/ CREATE file1
2017-10-10 15:55:01 出现事件 /node1/ MODIFY file1
在node2端检查验证
[root@cc4 ~]# ls /node2/
file1 testa1 testa2 testa3 testa4 testa5
[root@cc4 ~]# cat /node2/file1
haha
---------测试发现在node1端创建的文件实时同步过来到node2上面了。
总结:其实在6系统和7系统上面搭建rsync服务是一样的,只是在7上面改版了,系统默认没有/etc/xinetd.d/rsync配置文件,需要自己手动创建。其余配置完全一样
centos7配置rsync+inotify数据实时共享的更多相关文章
- centos 配置rsync+inotify数据实时同步2
一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...
- centos 配置rsync+inotify数据实时同步
何为rsync? 定义: rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,非常适用于异地备份 何为源端和发起端? 在远程同步过程中,负责发起rs ...
- rsync + inotify 数据实时同步
一.rsync介绍 rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可是本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能 ...
- linux rsync +inotify 实现 实时同步
前言: rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...
- 配置rsync+inotify实时同步
与上一篇同步做 配置rsync+inotify实时同步 1:调整inotify内核参数 在linux内核中,默认的inotify机制提供三个调控参数:max_queue_events.max_user ...
- Rsync+Sersync数据实时同步(双向)
Rsync+Sersync数据实时同步(双向) 服务介绍 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.se ...
- inotify和rsync实现数据实时同步
数据的实时同步 实现实时同步 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 实现实时同步的方法 ino ...
- CentOS7安装和配置rsync+inotify
(1)rsync介绍 1.rsync介绍 开源,实现全量及增量的本地或远程数据同步备份工具 2.工作场景: 存储实时备份:rsync+inotify 定时备份:rsync+crond 3.rsync工 ...
- 搭建rsync+inotify实现实时备份
一.环境搭建说明 系统环境 CentOS7.5 备份节点 主机名:backup01 IP地址:172.16.2.41 数据节点 主机名:nfs-master IP地址:172.16.2.31 二.在备 ...
随机推荐
- UiUtils
import android.app.Activity; import android.app.Dialog; import android.content.Context; import andro ...
- [hibernate]save()与persist()区别
Hibernate 之所以提供与save()功能几乎完全类似的persist()方法,一方面是为了照顾JPA的用法习惯.另一方面,save()和 persist()方法还有一个区别:使用 save() ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-4.动态Sql语句Mybaties SqlProvider
笔记 4.动态Sql语句Mybaties SqlProvider 简介:讲解什么是动态sql,及使用 1. @UpdateProvider(type=VideoSqlP ...
- 部署Hadoop-3.0-高性能集群
一.Hadoop概述: Hadoop是一个由Apache基金会所开发的分布式系统基础架构.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力进行高速运算和存储.Hadoop的框 ...
- Introduction to statistical learning:with Applications in R (书,数据,R代码,链接)
http://faculty.marshall.usc.edu/gareth-james/ http://faculty.marshall.usc.edu/gareth-james/ISL/
- Go项目实战:打造高并发日志采集系统(五)
前情回顾 前文我们完成了如下功能1 根据配置文件启动多个协程监控日志,并启动协程监听配置文件.2 根据配置文件热更新,动态协调日志监控.3 编写测试代码,向文件中不断写入日志并备份日志,验证系统健壮性 ...
- NFS PersistentVolume
一.部署nfs服务端: k8s-master 节点上搭建了 NFS 服务器 (1)安装nfs服务: yum install -y nfs-utils rpcbind vim /etc/exports ...
- maven-1-是什么
背景 1.1. 场景 假如你正在Eclipse下开发两个Java项目,姑且把它们称为A.B,其中A项目中的一些功能依赖于B项目中的某些类,那么如何维系这种依赖关系的呢? 很简单,这不就是跟我们之前写程 ...
- 【Web网站服务器开发】Apache 和 Tomcat的区别及配置
Apache 和 Tomcat 都是web网络服务器,两者既有联系又有区别,在进行HTML.PHP.JSP.Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置. apache是web服 ...
- 华为模拟器eNSP基本命令
华为模拟器eNSP常用命令 本文转自:https://blog.csdn.net/Key_book/article/details/80542264 路由器命令行常用命令: 1. system-vie ...