rsync+inotify-tools实时备份脚本
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实时备份脚本的更多相关文章
- 搭建rsync+inotify实现实时备份
一.环境搭建说明 系统环境 CentOS7.5 备份节点 主机名:backup01 IP地址:172.16.2.41 数据节点 主机名:nfs-master IP地址:172.16.2.31 二.在备 ...
- rsync + inotify 数据实时同步
一.rsync介绍 rsync英文全称为Remote synchronization,从软件的名称就可以看出来,Rsync具有可是本地和远程两台主机之间的数据快速复制同步镜像.远程备份的功能,这个功能 ...
- linux rsync +inotify 实现 实时同步
前言: rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rs ...
- rsync+inotify实现实时同步案例--转
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- rsync简介与rsync+inotify配置实时同步数据
rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync ...
- centos 配置rsync+inotify数据实时同步2
一.Rsync服务简介 1. 什么是Rsync 它是一个远程数据同步工具,它在同步文件的同时,可通过LAN/WAN快速同步多台主机间的文件.Rsync使用所谓的“rsync算法”来使本地和远程两个主机 ...
- centos 配置rsync+inotify数据实时同步
何为rsync? 定义: rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,非常适用于异地备份 何为源端和发起端? 在远程同步过程中,负责发起rs ...
- rsync+inotify实现实时同步案例
转自:http://chocolee.blog.51cto.com/8158455/1400596 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐 ...
- Rsync+inotify实现实时同步
1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...
随机推荐
- (一)廖师兄springboot微信点餐SQL建表脚本
数据库设计 数据库表之间的关系 类目表(product_category) 商品表(product_info) 订单主表(order_master) 订单详情表(order_detail) 卖家信 ...
- 微信_跳一跳辅助程序_Python_(带GitHub项目地址)
1.安装Python(推荐3.6) https://www.python.org/downloads/ 2.在github上下载脚本 [github项目地址](https://github.com/w ...
- Docker学习6:使用docker构建Jekyll服务和java服务
写在前面 ## 文章Dockerfile中涉及apt-get 等操作需更换镜像 在Dockerfile中添加下列 Dockerfile源码,见下面作者githubhttps://github.com/ ...
- scrapy学习之爬虫练习平台22
前言 上一篇文章中爬取了爬虫练习平台的所有 ssr 网站,都是比较简单的,没有反爬措施,这次来爬一下后面的 spa 系列. 环境准备 这里沿用了上篇文章的环境和设置,就不重新搭建环境了. 开始爬取 s ...
- vue路由懒加载方式
方式一:结合Vue的异步组件和Webpack的代码分析 const Home = resole => {require.ensure(['../components/Home.vue'],() ...
- kali 系列学习04 - 漏洞扫描
一.比较三类漏洞扫描工具 1.Rapid7 Nexpose 适合较大网络 2.Nessus 更经济,可以申请个人版,搞之后硬盘占用达到20G 以上2个是商业软件,使用容易上手,输入IP地址就能完成所有 ...
- 在线思维导图Ayoa可以用来梳理双十一优惠规则哦
一年一度的双十一又要来了,小伙伴们是否准备好开始买买买了呢?今年双十一,遇上英雄联盟S10总决赛,1/4决赛苏宁对上京东也让这个"电商大战"产生了很多有趣的梗.当然在玩梗的同时,广 ...
- ABBYY FineReader 15 中保存和导出PDF文档的小细节
运用ABBYY FineReader OCR文字识别软件,用户能将各种格式的PDF文档保存为新的PDF文档.PDF/A格式文档,以及Microsoft Word.Excel.PPT等格式.在保存与导出 ...
- P4771 八百标兵奔北坡
观察题目中关于北边的定义,发现是以当前点为顶点,向上的倒三角(自己想想为什么). 然后就可以直接 DP 了,令 \(f_{i,j}\) 表示点 \(\left(i,j\right)\) 的答案. \[ ...
- 基于dubbo-config api编写provider,api
不管是XML配置还是注解方式,最终都会转换成java api对应的配置对象. provider: import com.alibaba.dubbo.config.ApplicationConfig;i ...