centos7只rsync+inotify
环境:
操作系统:centos7.4
192.168.1.238 客户端
192.168.1.239 服务端
环境准备:
1、安装以下安装包lrzsz是xshell上传下载的安装包,可以忽略。
yum install -y lrzsz gcc wget gcc-c++ vim
2、关闭firewall防火墙,开机禁止启动。永久关闭selinux。如果有iptables防火墙可以允许873端口。
服务端
1、安装rsync
yum install -y rsync
2、更改配置文件
vim /etc/rsyncd.conf
#工作中指定用户(可以不指定为0)
uid =
gid =
#相当于黑洞.出错定位
use chroot = no
##有多少个客户端同时传文件
max connections =
##超时时间
timeout =
##进程号文件
pid ifle = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
##日志文件
log file = /var/log/rsyncd.log
##模块开始(这个模块就是待会儿对端写脚本的里面一个参数的名称)
[msone]
##需要同步的目录(准确的说是同步过来后放到哪里的目录路径)
path = /data/www
##表示出现错误忽略错误
ignore errors
##表示网络权限可写(本地控制真正可写)(亲测这里写false报错)
read only = no
##这里设置IP或让不让同步
list = false
#允许的ip或者ip段
hosts allow = 192.168.1.238
##拒绝,以下表示都不拒绝
hosts deny = 0.0.0.0/
##认证用户
auth users = rsynclsl
##用户名和密码存放文件
secrets file = /etc/rsync.secrets
rsyncd.conf
3、添加同步需要用的用户名和密码
#useradd -s /sbin/nologin rsynclsl
#passwd rsynclsl
4、创建认证文件
vim /etc/rsync.secrets
文件里面添加如下内容(格式为用户名:密码):
rsynclsl:123456
5、为了安全起见给这个文件设置600权限。

6、启动服务
#rsync --daemon

7、创建需要过来存放的目录
mkdir -p /data/www

需要www这个目录其它用户可以写的权限
chmod 765 www
8、如果需要添加开机启动请看另外一篇博客http://www.cnblogs.com/lei0213/p/8595030.html
客户端
1、查看当前系统是否支持inotify,这三个文件具体做什么的可以自行百度

2、安装rsync和inotify(rsync只安装不启动不配置)
yum install -y rsync
3、inotify是一种强大的、细粒度的、异步的文件系统事件控制机制。linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加、删除、修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施监控的软件。
#wget http://github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
#tar zxf inotify-tools-3.14.tar.gz
#cd inotify-tools-3.14
#./configure --prefix=/usr/local/include/
# make && make install
官网:https://sourceforge.net/projects/inotify-tools/
4、最最最最最最重要的是要写这个脚本,让它自动去检测我们制定的目录下文件发生的变化,然后再执行rsync的命令把它同步到我们的服务器端去。
#touch inotify.sh
#chmod 755 inotify.sh
#vim inotify.sh
#!/bin/bash
#chkconfig:
host=192.168.1.239 #server的ip(备份服务器)
src=/data/www #所要监控的备份目录(此处可以自定义,但是要保证存在)
des=msone #自定义的模块名,需要与client端定义的一致
password=/etc/rsync.password #密码文件
user=rsynclsl #用户名(一个实际存在的账号)
inotify=/usr/local/include/ #inotify的安装目录 ${inotify}/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src \
| while read files
do
rsync -avzP --delete --timeout= --password-file=${password} $src $user@$host::$des
echo "${files} was rsynced" >>/tmp/rsync.log >&
done
inotify.sh

5、创建/etc/rsync.password文件(整个文件需要600的权限和服务端rsync同步用户的密码,这里是服务器端rsynclsl用户的密码)
vim /etc/rsync.password


6、执行该脚本
#./inotify.sh
7、如果需要添加开机启动请看另外一篇博客http://www.cnblogs.com/lei0213/p/8595030.html
8、如果不确定脚本能不能用,可以先不用执行脚本,先使用下面的rsync命令同步一下看看配置有没有问题。
rsync -avH --port=873 --delete /data/www/ rsynclsl@192.168.1.239::msone --password-file=/etc/rsync.password
测试
1、服务器客户端全部关闭selinux和firewalld及iptables(或者允许873端口通过)
2、服务端启动rsync服务即可(进入/data/www准备刷新)
3、客户端启动脚本。
4、在客户端进入客户端的/data/www目录下建立文件,更改内容。
5、服务器端刷新
6、客户端会把www整个目录传到服务器端的/data/www下,等于在/data/www/下又出现了一个www目录。
centos7只rsync+inotify的更多相关文章
- CentOS7之Rsync+Inotify架构实现实时同步文件和文件夹
简介:rsync是用来同步文件和文件夹的,inotify是用来实现监听变动而自动同步的 OS:Centos7.3 服务器端:172.16.13.157 客 户 端 :172.16.13.156 目 ...
- centos7配置rsync+inotify数据实时共享
关于centos7版本上面搭建rsync服务并且实现实时同步之前一直是在6版本上面搭建rsync服务,在7版本上面折腾了半天.此处总结下inotify下载地址:http://github.com/do ...
- centos7下rsync+inotify脚本实现文件同步,.NET CORE客户端文件更新后自动重启服务
源服务器IP:192.168.8.51 目标服务器IP:192.168.8.79 安装前源服务器及目标服务器均需关闭FIREWALLD\SELINUX防火墙 sestatus | grep statu ...
- CentOS7 Rsync服务搭建-Rsync+Inotify架构实现实时同步
一.rsync 概念 1.rsyncrsync是类unix/linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同 ...
- CentOS7安装和配置rsync+inotify
(1)rsync介绍 1.rsync介绍 开源,实现全量及增量的本地或远程数据同步备份工具 2.工作场景: 存储实时备份:rsync+inotify 定时备份:rsync+crond 3.rsync工 ...
- rsync+inotify实现全网自动化数据备份-技术流ken
rsync简介 “rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步” rsync的功能和特点 ...
- rsync简介与rsync+inotify配置实时同步数据
rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...
- rsync+inotify实现数据实时同步
rsync rsync是linux系统下的数据镜像备份工具.支持远程同步,本地复制,或者与其他SSH.rsync主机同步. 优点: 1).可以镜像保存整个目录树和文件系统.保存源目录整个目录树和文件系 ...
- 通过rsync+inotify实现数据实时备份
rsync的优点与不足 与传统的cp,scp,tar,备份方式相比,rsync具有安全性高备份迅速支持增量备份的优点,可以满足对实时性要求不高的需求,例如定期备份文件服务器数据到远端服务器,但是,当数 ...
随机推荐
- 【转】Android播放音频MediaPlayer的几种方式介绍
接下来笔者介绍一下Android中播放音频的几种方式,android.media包下面包含了Android开发中媒体类,当然笔者不会依次去介绍,下面介绍几个音频播放中常用的类: 1.使用MediaPl ...
- JestClient 使用教程,教你完成大部分ElasticSearch的操作。
本篇文章代码实现不多,主要是教你如何用JestClient去实现ElasticSearch上的操作. 授人以鱼不如授人以渔. 一.说明 1.elasticsearch版本:6.2.4 . jdk版本: ...
- Maven(九)Eclipse创建Web项目(简单方式)
1. 创建Maven项目(以简单方式) 2. 勾选WAR 3. 选择properties->projectFacts 此处的错误可忽略,配置好会会消失,主要缺失web.xml文件 4. 将框中选 ...
- 关于token和refresh token
最近在做公司的认证系统,总结了如下一番心得. 传统的认证方式一般采用cookie/session来实现,这是我们的出发点. 1.为什么选用token而不选用cookie/session? 本质上tok ...
- weblogic 安装配置打补丁
Master Note on WebLogic Server (WLS) Patches, Upgrade Installers, and Full Installers
- swiper 自定义分页器的使用
网上关于swiper 自定义分页器的方法比较多,但是已经不适合使用.它的API又比较坑爹,什么都是点到为止,不说清楚.因为要做一个产品颜色切换的效果,有黑与白两种颜色,因此尝试使用Swiper的自定义 ...
- 【已解决】checkout 配置无效的问题可以进来看下
在日常工作中,我们经常会遇到要更新一个项目,但是由于更改了配置,需要将这些配置commit或者checkout,但是有的同学不想commit怎么办呢,只能通过checkout,那么问题又来了,改了很多 ...
- 从0开始的Python学习004小的总结与补充
没有时间?快速阅读: Python确实是一种十分精彩又强大的语言. Python是程序.脚本或者软件 python helloworld.py运行你的Python help()帮助你的Python 命 ...
- linux缺页异常处理--内核空间
缺页异常被触发通常有两种情况-- 程序设计的不当导致访问了非法的地址 访问的地址是合法的,但是该地址还未分配物理页框. 下面解释一下第二种情况,这是虚拟内存管理的一个特性.尽管每个进程独立拥有3GB的 ...
- NSTimer 不工作 不调用方法
比如,定义一个NSTimer来隔一会调用某个方法,但这时你在拖动textVIew不放手,主线程就被占用了.timer的监听方法就不调用,直到你松手,这时把timer加到 runloop里,就相当于告诉 ...