linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)_Linux

配置过程记录下来,防止遗忘!如有建议技术支持QQ群139785720 配置架构如下:

一.安装步骤(服务器端192.168.0.5)

1) 安装rsync 点击下载rsync-3.0.9.tar.gz
   下载文件放到该目录下/usr/src
   #cd /usr/src
   #tar -zxvf rsync-3.0.9.tar.gz //解压文件
   #cd rsync-3.0.9 //进入该文件目录
   #./configure //主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
   #make //编译
   #make install //安装

2)安装inotify  点击下载inotify-tools-3.14.tar.gz
   下载文件放到该目录下/usr/src
   #cd /usr/src
   #tar -zxvf inotify-tools-3.14.tar.gz //解压文件
   #cd inotify-tools-3.14 //进入该文件目录
   #./configure //主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
   #make //编译
   #make install //安装

3)服务端编写文件夹监视脚本
  #vi /srv/rsync.sh
  rsync.sh内容如下:
  #!/bin/bash
  src=/srv/test/   #监视改文件路径,文件夹内容发生改变触发服务器数据同步
  des=backup       #客服端配置的模块(客服端会介绍)
  host="192.168.10.6"  #同步到的IP地址,如有多个用空格隔开。例如:host="192.168.10.6 192.168.10.7"
  /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e              modify,delete,create,attrib $src | while read files #这边要主要下inotifywait,只有Linux 2.6.13 或更高版的才会兼容
  do
  for hostip in $host
  do
  #rsync -vzrtopg --delete --progress rsync@$hostip::$des $src --password-file=/etc/rsync.pas 该命令是客服端跟新后同步到服务器端
  rsync -vzrtopg --delete --progress --password-file=/etc/rsync.pas $src rsync@$hostip::$des #改命令是服务器端跟新后同步到客服端(看具体使用情况选择)
#--password-file=/etc/rsync.pas 配置到客服端,也就是客户端路径下有rsync.pas 用于配置登陆密码
#rsync 是客户端配置的登陆名
  done
  echo "${files} was rsynced" >>/tmp/rsync.log 2>&1  #生成日志文件
  done

4)启动nohup
  #nohup /bin/bash /srv/rsync.sh &  //后台不挂断地运行命令
  #echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.local //设置linux服务器启动自动启动nohup

  rsync + inofity服务端就配置好了,接下来我们来配置客服端

二.安装步骤(客服端)

1) 安装rsync 步骤如上!
2)配置rsyncd.conf
  #vi /etc/rsyncd.conf //打开rsyncd.conf
  rsyncd.conf内容如下:
  uid = root
  gid = root
  port = 873 #post rsync使用的端口号  也是默认端口号
  hosts allow = 192.168.10.5          #allow hosts ip 应许的ip访问,也可以设置为ip段
  max connections =
  timeout=

  ##config file
  pid file = /var/run/rsyncd.pid
  lock file = /var/run/rsync.lock
  log file = /var/log/rsyncd.log
  #motd file = /etc/rsyncd.motd

  ##global config
  [backup]
  path =/srv/test  #客服端已rsync服务端同步的文件路径
  comment = from 192.168.10.5  #解释
  read only = no
  list = no
  ##client sync config
  auth users =rsync  #配置登陆名称
  secrets file = /etc/rsync.passwd  #配置用户名密码文件

3)配置rsync.passwd
  #vi /etc/rsync.passwd
  rsync.passwd内容如下:
  rsync:cyc  #rsync登陆用户名  cyc是登陆密码
  #chomd 600 rsync.passwd #需要注意rsync.passwd的权限配置
  客服端配置完成!

三.如果再配置过程中出现如下问题,分析出错原因。

 问题一:
 @ERROR: chroot failed
 rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

 原因:
 服务器端的目录不存在或无权限,创建目录并修正权限可解决问题。

 问题二:
 @ERROR: auth failed on module backup
 rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

 原因:
 服务器端该模块(backup)需要验证用户名密码,但客户端没有提供正确的用户名密码,认证失败。
 提供正确的用户名密码解决此问题。

 问题三:
 @ERROR: Unknown module ‘backup'
 rsync error: error starting client-server protocol (code 5) at main.c(1522) [receiver=3.0.3]

 原因:
 服务器不存在指定模块。提供正确的模块名或在服务器端修改成你要的模块以解决问题。

时间: 2024-09-17 22:28:46

linux下通过rsync+inotify 实现数据实时备份(远程容灾备份系统)_Linux的相关文章

Linux环境下通过rsync+inotify实现数据实时同步

本站一直缺少类似方面教程,今天就补充一下.其中rsync是一个远程数据同步工具,使用方法可以参考之前的文章<linux系统下Rsync远程数据同步命令介绍以及使用整理> ,但数据更新以后数据还需要手工同步,无法实现自动化.这里就借助资料配置一个rsync+innotify实现数据实时同步,解决手工处理烦恼. 环境准备:centos三台 源数据服务器:192.168.1.8 目标服务器:192.168.1.9    192.168.1.10 测试目的:将源服务器的/home/21yunwei 自

通过Linux数据镜像备份工具rsync实现远程容灾备份

一.rsync简介 rsync是Linux系统下的数据镜像备份工具,通过rsync可以将本地系统数据通过网络备份到任何远程主机上,rsync有如下特性: 可以镜像保存整个目录树和文件系统 可以增量同步数据,文件传输效率高,因而同步时间很短. 可以保持原有文件的权限.时间等属性. 加密传输数据,保证了数据的安全性. 二.rsync的安装与使用 接着我们通过实例详细介绍下rsync的使用方法,这里我们假定有A.B两个Linux系统,A系统运行业务,B系统作为A的一个远程容灾备份机,那么A系统就是rs

sersync:基于 rsync + inotify 实现数据实时同步

前言 提到数据同步就必然会谈到rsync,一般简单的服务器数据传输会使用ftp/sftp等方式,但是这样的方式效率不高,不支持差异化增量同步也不支持实时传输.针对数据实时同步需求大多数人会选择rsync+inotify-tools的解决方案,但是这样的方案也存在一些缺陷(文章中会具体指出),sersync是国人基于前两者开发的工具,不仅保留了优点同时还强化了实时监控,文件过滤,简化配置等功能,帮助用户提高运行效率,节省时间和网络资源. 可靠高效的数据实时同步方式 原理 Synchronize f

Linux中利用Rsync+Inotify-tools实现数据实时同步备份

说明: 操作系统:CentOS 5.X 源服务器:192.168.21.129 目标服务器:192.168.21.127,192.168.21.128 目的:把源服务器上/home/www.111cn.net目录实时同步到目标服务器的/home/www.111cn.net下 具体操作: 第一部分:分别在两台目标服务器192.168.21.127,192.168.21.128上操作 一.分别在两台在目标服务器安装Rsync服务端 1.关闭SELINUX vi /etc/selinux/config

数据中心“云时代”容灾备份传送解决方案

[天极网服务器频道8月12日消息]在日前召开的首届华为全球金融论坛上,华为公司在数据中心完善的灾备网络传送解决方案获得高度评价.数据中心已成为保障金融行业信息系统正常工作的重要基础设施,如何保证数据中心的持续可靠运行,如何应对和有效化解数据集中带来的风险,已成为行业愈发关注的重要问题. 金融数据中心发展和灾备需求 目前,金融行业多数企业都已经建立了数据中心,实现了数据大集中,所有的交易基本都需要数据中心服务器的配合才能完成.在技术发展与市场需求双重驱动下,云计算以其卓越的创新性和前瞻性,给IT行

Rsync+Inotify实现数据实时同步

1.环境及相关软件介绍 操作系统:Ubuntu12.04_x64 源服务器(推送):192.168.18.10 目标服务器(备份):192.168.18.20 rsync:   rsync是unix系统下的数据镜像备份工具,是一款快速增量备份工具(远程同步),支持本地复制,或者与其他SSH(安全传输).rsync主机同步. rsync有以下常用的参数:     -v,--verbose 显示同步过程的详细信息     -a,--archive 归档模式,表示以递归方传输文件,并保持所有文件属性,

Linux下Rsync+sersync实现数据实时同步的例子

前言: 一.为什么要用Rsync+sersync架构? 1.sersync是基于Inotify开发的,类似于Inotify-tools的工具 2.sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的这个文件或者这个目录. 二.Rsync+Inotify-tools与Rsync+sersync这两种架构有什么区别? 1.Rsync+Inotify-tools (1):Inotify-tools只能记录

如何在Linux下使用rsync

如何在Linux下使用rsync 对于各种组织和公司,数据对他们是最重要的,即使对于电子商务,数据也是同样重要的.Rsync是一款通过网络备份重要数据的工具/软件.它同样是一个在类Unix和Window系统上通过网络在系统间同步文件夹和文件的网络协议.Rsync可以复制或者显示目录并复制文件.Rsync默认监听TCP 873端口,通过远程shell如rsh和ssh复制文件.Rsync必须在远程和本地系统上都安装. rsync的主要好处是: 速度:最初会在本地和远程之间拷贝所有内容.下次,只会传输

linux下使用rsync同步目录_Linux

本文描述了linux下使用rsync单向同步两个机器目录的问题. 使用rsync同步后可以保持目录的一致性(含删除操作). 数据同步方式 1.从主机拉数据 备机上启动的流程 同步命令: rsync -avzP --delete root@{remoteHost}:{remoteDir} {localDir} 参数说明: -a 参数,相当于-rlptgoD(-r 是递归 -l 是链接文件,意思是拷贝链接文件:-p 表示保持文件原有权限:-t 保持文件原有时间:-g 保持文件原有用户组:-o 保持文