linux 实时备份文件内容,实现实时同步备份总结

实现实时同步备份总结

\ 一. 实时同步备份原理

1.inotify实时监控

2.rsync实时传输

3.sersync将两者结合实现实时同步备份

\ 二. 实时同步备份方法

\ 1. inotify实时监控指定目录变化

1)安装inotify (nfs服务器)

yum install -y inotify-tools

2)监控命令使用 /usr/bin/inotifywait

a. 参数: -m 让监控始终保持(不加:监控一次)

-r 递归监控目录

-q 只输出事件信息

-e 只监控xxx事情

--format 定义信息输出格式(时间 创建什么 事件:创建xxx)

--timefmt 定义时间格式

b. 语法结构: inotifywait 参数 目录

inotifywait -mrq --timefmt %F %w --format "%T %w%f %e" /data

%w ---监控的目录

%f ---触发事件文件

%e ---触发事件类型

2. 脚本编写过程

第一里程: 进行监控 修改,移动,监控目录增加数据,删除事件

inotifywait -mrq --format "%w%f" -e "close_write,move,create,delete" /data

\ 第二里程: 部署好rsync守护进程

\ 第三里程: 编写脚本

#!/bin/bash #修改,移动,监控目录增加数据,删除事件

inotifywait -mrq --format "%w%f" -e "close_write,move,create,delete" /data

while read line

do

rsync -az --delete /data/ rsync_backup@172.16.1.41::backup --password=/etc/rsync.password

done

让脚本秩序运行: nohep 脚本 & nohep(让脚本变为守护进程) &(让脚本后台运行)

\ 3. 利用软件实时同步 sersync

前提:有inotify+rsync

\ 1)部署sersync

第一个里程:下载软件

\ 第二个里程: 上传到linux (lrzsz)

rz -y 上传到linux

sz -y 下载到windows

\ 第三个里程: 安装sersync

unzip sersync_installdir_64bit.zip

cp -a /server/toole/sersync_installdir_64bit/sersync /usr/local

\ 第四个里程: 修改配置

vim /usr/local/sersync/conf/confxml.xml

\ 第五个里程:启动服务并检查测试

ln -s /sercer/toole/sersync_installdir_64bit/sersync /usr/local/sbin/sersyc

chmod +x /usr/local/sersync/bin/sersync

\ 命令参数:

-d: 开启守护进程模式

-r: 监控前先rsync推送一遍

-o: 指定配置文件,默认confxml.xml

启动:

serync -dro /usr/local/conf/confxml.xml

\ 4. 弃用NFS方案

避免NFS服务出现单点故障, 利用web服务让用户可以读取数据

设想:scp到web web配置nfs

老师讲的: inotify监控sersync到web gg时可以卸载web挂载的目录然后把备份过来的目录复制到所访问的

被卸载的目录中实现依旧可读数据(不可存)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值