crond+rsync inotify+rsync

本文介绍全网数据备份的两种实践:定时备份利用crond+rsync实现全网范围内的数据定时备份,并通过md5sum进行校验;实时备份采用rsync daemon架构结合inotify监控文件系统变化,实现数据的实时同步。详细阐述了脚本编写、配置参数及高并发数据同步方案。
摘要由CSDN通过智能技术生成

全网定时备份实践 crond + rsync (定时)

验证是否成功 1.打个标记 touch flag 2.md5sum 全网做识别

#######脚本开始##############
cd /
NAME=`hostname`
IP=`ifconfig eth1 | awk -F " " 'NR==2{print $2}'` 取IP
tar cvzhf  $IP_$NAME_file test1 test2 test3 &&\
rsync avz  $IP_$NAME_file   rsync_backup@172.16.1.5::backup &&\
md5sum file >> $IP_$NAME_flag`date -I`  创建FLAG文件内容为md5sum  &&\
rsync avz $IP_$NAME_flag`date -I` rsync_backup@172.16.1.5::backup  
######脚本结束##############

服务端可用 $IP_$NAME_flag`date -I` 这个文件名做验证


全网实时备份实践
需要 rsyncd daemon 的架构,
当发现本地发生文件变化,rsync 推送到 backup 服务器

inotify sersync lrsyncd (这种软件很多) 原理监控磁盘变化

inotify-tools 异步文件系统监控
/proc/sys/fs/inotify 三个配置文件
根据实际情况 调整下面三个文件
max_queued_events 最大事件队列数
max_user_instances 最大实体数 每个用户可运行命令的数量
max_user_watches 最大监控数

yum install -y inotify
包含下面两个命令
inotifywait
inotifywatch 
inotifywait -mrq --timefmt '%d/%m/%y/%H:%M' --format '%T%w%f' -e modify,create,delete /nfsdata``

-m  monitor 不加 只监视一次
-r 递归 不加只监视当前一层目录
-q quiet模式,不加输出信息多
--timefmt '%y %m %d %H %M'   指定时间格式    ''   ""  目前测试效果一样
    年 月 日 时 分
--format '%T%w%f'   输出监控结果的格式   stand output/stand error 
                    %T 代表使用--timefmt格式,不加则没有日期  
                    %w 显示目录  不加为event号
                    %f 显示文件名 不加为空
-e  指定监控的动作      create delete modify attrib      
                        close_write(改) open moved_to moved_from 
                        move umount 等  具体man

/nfsdata  /var/log/lastlog 监控的目录或文件
inotifywait 触发rsync推送
#############################脚本开始
#!/bin/bash
Path=/nfsdata
Ip=10.3.3.3
inotifywait -mr --timefmt '%Y/%m/%d %H:%M ' --format '%T%w%f' -e modify,close_write $Path/ \
|while read line
###这里使用重定向,将文件内容输入到while命令,while命令每次使用read从输入中读取一行数据。 用 line  file 都可以
        do
                cd /nfsdata
                rsync -avz $Path/ --delete rsync_backup@$10.3.3.3::backup  --password-file=/etc/rsync.pp
        done

################################脚本结束

inotify 优点:监控文件系统事件变化,通过同步工具实现实时数据同步
缺点:并发大于200个 (100K),并发会有延迟.单线程加& 并发.
多进程用 sersync

高并发数据同步方案
1.inotify rsync 文件级别 效率最低
2.drbd 文件系统级别 基于block 缺点:备节点数据不可用
3.第三方同步软件 mysql oracle mongodb
4.程序双写,直接写两台服务器
5.业务逻辑解决 读写分离
6.NFS集群(双写主存储,备存储用 inotify(sersync) +rsync 备没有找主解决延迟问题 备与前端服务器 做inotify(sersync) +rsync

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值