1.1 实时备份

1.需求分析:

为什么要实时复制

因为nfs是单点非常的不安全  而通过定时任务备份会造成数据丢失 这是就需要需要实时备份

2实时方案

1).搭建好服务端backup与客户端nfs的rsync服务,使可以备份数据

a.服务端backup配置文件:

[root@rsync-backup ~]# cat /etc/rsyncd.conf

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

log file = /var/log/rsyncd.log

uid = rsync

gid = rsync

use chroot = no

max connections = 200

timeout = 300

ignore errors

read only = false

list = false

hosts allow = 172.16.1.0/24

hosts deny = 0.0.0.0/32

secrets file = /etc/rsync.password

[backup]

path = /rsync_backup

auth users = rsync_backup

创建校验文件 并将权限改为600

[root@rsync-backup ~]# cat /etc/rsync.password

rsync_backup:ms

创建用户 rsync 创建目录/ rsync_backup 并将属主属组改为rsync

b.客户端nfs

创建校验文件 并将权限改为600

[root@nfs01 /backup]# cat /etc/rsync.password

ms

创建要备份的目录/backup

2.)在nfs上搭好inotify-tools 使其可以监控事件

上文已将其安装,这里测试命令

端口1监控

[root@nfs01 /backup]# inotifywait --format '%w%f'  -rmqe create,delete,close_write   /backup/

/backup/a.txt

端口2测试

[root@nfs01 /backup]# rm -f a.txt

3)编写脚本 使当所监控的文件夹有事件发生时 立即备份

#!/bin/bash

inotifywait --format '%w%f'  -rmqe create,delete,close_write   /backup/|\

while read line

do

rsync -az /backup/ rsync_backup@backup::backup --password-file=/etc/rsync.password

done

检测有效

4)脚本的优化

#!/bin/bash

inotifywait --format '%w%f'  -rmqe create,delete,close_write   /backup/|\

while read line

do

if [ -e  $line  ];then

rsync -az $line rsync_backup@backup::backup --password-file=/etc/rsync.password

fi

cd /backup/ && rsync -az /backup/ --delete  rsync_backup@backup::backup --password-file=/etc/rsync.password

done

if 判断如果文件存在 将新创建的文件备份到backup服务器上

如果不存在 无差异备份一下

额外补充

watch ls /rsync_backup/ 每个2秒执行一下ls命令

将脚本放入后台执行[root@nfs01 /server/scripts]# sh  nfs-backup.sh &

[1] 9137

rsync+inotify-tools实时备份脚本的更多相关文章

  1. 搭建rsync+inotify实现实时备份

    一.环境搭建说明 系统环境 CentOS7.5 备份节点 主机名:backup01 IP地址:172.16.2.41 数据节点 主机名:nfs-master IP地址:172.16.2.31 二.在备 ...

  2. rsync + inotify 数据实时同步

    一.rsync介绍 rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可是本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能 ...

  3. linux rsync +inotify 实现 实时同步

    前言:     rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...

  4. rsync+inotify实现实时同步案例--转

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  5. rsync简介与rsync+inotify配置实时同步数据

    rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...

  6. centos 配置rsync+inotify数据实时同步2

    一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...

  7. centos 配置rsync+inotify数据实时同步

    何为rsync? 定义: rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,非常适用于异地备份 何为源端和发起端? 在远程同步过程中,负责发起rs ...

  8. rsync+inotify实现实时同步案例

    转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...

  9. Rsync+inotify实现实时同步

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

随机推荐

  1. FLEX弹性布局小结

    1. 弹性盒子中: flex: 0 1 auto表示什么意思 flex默认三个参数是flex-grow, flex-shrink, flex-basis,默认值是0 1 auto. flex-grow ...

  2. Python_爬虫伪装_ scrapy中fake_userAgent的使用

    scrapy 伪装代理和fake_userAgent的使用 伪装浏览器代理 在爬取网页是有些服务器对请求过滤的不是很高可以不用ip来伪装请求直接将自己的浏览器信息给伪装也是可以的. 第一种方法: 1. ...

  3. Javaweb项目页面实时显示后台处理结果

    http://www.cnblogs.com/dong-xu/p/6701271.html 此博文甚好,项目参照博主代码可实现. 前端页面: <%@ page language="ja ...

  4. laravel 验证器使用

    1.前后端不分离 (form表单提交) 控制器定义验证规则 <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Req ...

  5. FL Studio水果音乐制作入门教程

    "没有早期音乐教育,干什么事我都会一事无成".这并非某位音乐家精心熬制的心灵鸡汤,而是出自物理学家爱因斯坦之口,朋友们没有看错,就是那个被称为二十世纪伟大科学家的爱因斯坦,所以,别 ...

  6. H5系列之drag拖放

    H5中, 有个属性,draggable="true", 这个属性呢(默认false),需要加在标签上,加上去该标签就可以拖动了, 看下gif图吧 默认的标签,是不能拖动的,但是有两 ...

  7. 利用perspective 和 transform 里面的几个参数来实现旋转照片墙

    旋转照片墙 首先,来看下,是什么效果吧,上效果图 ↓ 其实这个东西,很容易制作,先说下思路, 把照片都给叠在一起,然后 rotateY 旋转,给每张图片 旋转不一样的角度能构成一圈, 然后transl ...

  8. 循序渐进VUE+Element 前端应用开发(29)--- 高级查询条件的界面设计

    在系统模块中的业务列表展示里面,一般我们都会在列表中放置一些查询条件,如果是表字段不多,大多数情况下,放置的条件有十个八个就可以了,如果是字段很多,而这些条件信息也很关键的时候,就可能放置很多条件,但 ...

  9. Flash----一种VirtualActor模式的分布式有状态系统原型

    首先, 这个Flash不是我们在浏览器用的Flash这种技术, 而是: 动作缓慢, 车速极快------闪电(Flash). 18年的某一个周末, 即兴用Python写了一个Virtual Actor ...

  10. PriorityQueue 优先队列的实现

    PriorityQueue 的 implementation PriorityQueue即是优先队列.通俗的说就是体育课的时候老师要求从高到低排序,老师能直接一眼看出谁是最高的在班级里.当这个最高的离 ...