利用rsync+inotify搭建远程备份容灾系统
来源:互联网 发布:nba球员数据对比网站 编辑:程序博客网 时间:2024/05/03 15:51
一:场景描述
现在有A,B两个linux系统,A系统为工作用系统,其目录/data下存放了很多重要的数据,为防止误删除数据,造成数据丢失,现要求搭建一个备份服务器,要求/data目录下有新数据产生时,即刻可以复制到备份服务器上
二:解决方案
采用rsync+inotify
注: 要使用inotify内核版本必须在2.6.13以上
三:实验环境
OS: centos 5.10 x86_64
A机IP:192.168.78.11 (A为rsync客户端)
B机IP:192.168.78.12 (B为rsync服务端)
A机: /data为需要做备份的目录
B机: /backup为备份用目录
rsync版本:rsync-3.3.1.tar.gz
inotify版本:inotify-tools-3.14.tar.gz
四:安装rsync(A, B都要安装)和inotify-tools(A安装即可)
1.安装rsync
卸载掉系统自带的rsync
yum remove rsync
tar xf rsync-3.3.1.tar.gz
cd rsyc-3.3.1
./configure --prefix=/usr/local/rsync
make
make install
2.安装inotify-tools
tar xf inotify-tool-3.14.tar.gz
cd inotify-tools-3.14
./configure --prefix=/usr/local/inotify-tools
make
make install
五:配置rsync
1.先配置服务端(在B系统上配置)
创建备份目录mkdir /backup
默认配置文件/etc/rsyncd.conf不存在,需要自己创建,内容如下
uid = nobody
gid = nobody
use chroot = yes
max connections = 20
timeout = 600
strict modes = yes
read only = no
write only = no
hosts allow = 192.168.78.11
hosts deny = *
ignore errors = true
pid file = /var/run/rsync.pid
lock file = /var/lock/subsys/rsync.lock
log file = /var/log/rsync.log
[backup] // 模块名;
path = /backup // 实际备份目录;
comment = file
list = false
uid = root
gid = root
auth users = user1 // 授权用户名
secrets file =/etc/secret.pass
建立认证文件并设置权限
cat /etc/secret.pass
user1:111111
chmod 600 /etc/secret.pass
现在就可以启动rsync进程了
/usr/local/rsync/bin/rsync --daemon
echo "/usr/local/rsync/bin/rsync --daemon">>/etc/rc.local
B系统上配置完毕
2.配置客户端(在A系统上)
◆.首先加入inotify-tools的库文件
echo "/usr/local/inotify-tools/lib" > /etc/ld.so.conf.d/inotify-tools.conf && ldconfig
◆.在/opt目录先创建一个用于同步的脚本inotify.sh内容如下
cat /opt/inotify.sh
#!/bin/bashinotifywait=/usr/local/inotify-tools/bin/inotifywaitrsync=/usr/local/rsync/bin/rsyncsrc=/datauser=user1host=192.168.78.12module=backup$inotifywait -mrq \--timefmt '%d/%m/%y %H:%M' \--format '%T %w %f %e' \-e close_write,move,create,delete,attrib $src | while read linedo $rsync -zrotpg --password-file=/etc/secret.pass $src/ $user@$host::$module echo "$line event was found" >> /var/log/rsync.log 2>&1 done◆.创建认证文件/etc/secret.pass并设置权限,内容如下
cat /etc/secret.pass
111111
chmod 600 /etc/secret.pass
◆.后台运行inotify.sh
sh /opt/inotify.sh &
echo "sh /opt/inotify.sh &">>/etc/rc.local
六:验证是否及时同步
在/data目录先创建一个文件touch file1,查看B系统/backup下file1是否出现,如果存在file1,说明,远程备份容灾系统搭建成功
- 利用rsync+inotify搭建远程备份容灾系统
- linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
- linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)
- 利用rsync+inotify搭建实时同步系统
- 通过rsync工具搭建简单的远程容灾备份系统
- 通过rsync实现远程容灾备份
- 用 Rsync 软件搭建备份系统
- Redhat服务器利用rsync和inotify-tools实现实时增量备份的方法(详解)
- rsync与inotify实时同步备份数据
- rsync + inotify 数据的实时备份
- rsync+inotify实现服务器实时备份
- 安装rsync+inotify实时同步备份服务器
- rsync+inotify同步备份MYSQL数据
- rsync远程同步备份
- rsync远程备份
- rsync远程备份
- rsync远程备份
- rsync远程同步+inotify-tools自动检测笔记
- 点点滴滴
- liunx常用命令
- POJ 1548 Robots(DAG最小路径覆盖)
- C++ traits学习笔记(一)
- GoldenGate 配置文档解析说明
- 利用rsync+inotify搭建远程备份容灾系统
- ble4.0 app后台运行、报警、通知实现
- HDU2482 - Transit search (Floyd)
- IIS没有ASP.NET选项卡的解决办法
- cocos 2d-x String 与 int ,char*,string之间的类型转化
- 素数距离问题
- 【 D3.js 入门系列 --- 10 】 地图的绘制
- NoSuchMethodException: $Proxy 的解决方法
- 2013-2-28 脚本