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. rgw配置删除快速回收对象

    前言 做rgw测试的时候,经常会有删除文件的操作,而用默认的参数的时候,rgw是通过gc回收机制来处理删除对象的,这个对于生产环境是有好处的,把删除对业务系统的压力分摊到不同的时间点,但是测试的时候, ...

  2. Docker版EKL安装记录文档

    Docker版EKL安装记录文档 拉取已下三个镜像 docker.io/logstash 7.5.2 b6518c95ed2f 6 months ago 805 MB docker.io/kibana ...

  3. Python_自动化测试_项目

    <论坛自动化测试项目> 1.自行选择合适的社区 2.功能要求 5个以上,不包含登录页 3.多手动测试   多用selenium IDE 4.生成测试报告,发送邮件 5.计划任务定时完成 6 ...

  4. 面试官:小伙子,给我说一下Java 数组吧

    Java 数组 Java 语言中提供的数组是用来存储固定大小的同类型元素. 1.声明数组变量 首先必须声明数组变量,才能在程序中使用数组. dataType[] arrayRefVar; // 首选的 ...

  5. On Starting My Blogging On CNBlogs

    About Myself I am a would-be Master of Engineering, on the last year of my student life, I'm ambitou ...

  6. Camtasia的标记使用方法

    相信大家都想过学习或者尝试过编辑视频,可能曾经也下载使用过微课录制软件Camtasia(win),或许现在也还在使用.小编现在也经常使用Camtasia录屏编辑视频,在编辑的过程中,总是会不小心在轨道 ...

  7. 如何使用Camtasia进行电脑录制屏幕

    在现在的网络互联网时代,越来越多的人走上了自媒体的道路.有些自媒体人会自己在网络上录制精彩视频,也有一些人会将精彩.热门的电影剪辑出来再加上自己给它的配音,做成大家喜欢看的电影剪辑片段.相信不管大家是 ...

  8. 下载器Folx如何实现排队下载功能

    用户在下载多个文件时,当然会希望这些文件都能同时下载,以达到短时间内完成下载任务的目的.但另一方面来说,同时下载过多文件,会分散带宽资源,降低了每个文件的下载速度,从而导致下载时间的延长. 为了实现多 ...

  9. jmeter简单的压力测试

    Jmeter是一个非常好用的压力测试工具.  Jmeter用来做轻量级的压力测试,非常合适,只需要十几分钟,就能把压力测试需要的脚本写好.相比LR来说操作简单方便,关键是免费,基于JAVA开发,所以需 ...

  10. 痞子衡嵌入式:探析开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是开启CRC完整性校验的IAR工程生成.out和.bin文件先后顺序问题. 痞子衡之前写了一篇 <在IAR开发环境下为工程开启CRC ...