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

 更新时间:2013年09月08日 11:44:57   作者:  
linux下为了数据安全或者网站同步镜像,不得不考虑一些实时备份的问题,这篇linux下通过rsync+inotify 实现数据实时备份配置过程记录下来,防止遗忘
配置过程记录下来,防止遗忘!如有建议技术支持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]

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

相关文章

  • Linux下用dnsmasq做dns cache server的配置方法

    Linux下用dnsmasq做dns cache server的配置方法

    最近国外的服务器本地DNS总是出故障,闪断一会儿都会影响业务。于是在机房里找了两台Server,安装上keepalived和dnsmasq实际本地的DNS缓存
    2014-08-08
  • Linux中服务器软件为什么需要编译安装

    Linux中服务器软件为什么需要编译安装

    这篇文章主要介绍了Linux中服务器软件为什么需要编译安装,在什么情况下需要编译安装,需要的朋友可以参考下
    2014-02-02
  • Kafka使用入门教程

    Kafka使用入门教程

    Kafka是一个分布式的、可分区的、可复制的消息系统。它提供了普通消息系统的功能,但具有自己独特的设计。这个独特的设计是什么样的呢
    2015-12-12
  • 浅析Linux中使用nohup及screen运行后台任务的示例和区别

    浅析Linux中使用nohup及screen运行后台任务的示例和区别

    这篇文章主要介绍了Linux中使用nohup及screen运行后台任务的示例和区别,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • logrotate实现日志切割方式(转储)

    logrotate实现日志切割方式(转储)

    这篇文章主要介绍了logrotate实现日志切割方式(转储),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • Linux文件权限与群组修改命令详解

    Linux文件权限与群组修改命令详解

    这篇文章主要介绍了Linux文件权限与群组修改命令详解,在Linux中,一切皆为文件(目录也是文件),每个文件对用户具有可读(read)、可写(write)、可执行(execute)权限,需要的朋友可以参考下
    2019-07-07
  • 干货 | Linux新手入门好书推荐

    干货 | Linux新手入门好书推荐

    今天在知乎上看到了这样一个问答:学习操作系统的知识,看哪本书好?读完之后,我决定理一下操作系统方面的好书推荐给需要学习这个方向知识的人。下面这篇文章主要给Linux新手们推荐了一些入门的好书,需要的朋友可以参考下。
    2017-10-10
  • 在Linux 命令行终端分屏的两种工具

    在Linux 命令行终端分屏的两种工具

    这篇文章主要介绍了在Linux 命令行终端分屏的两种工具,这两种工具分别是screen和tmux,本文逐一给大家介绍,需要的朋友可以参考下
    2018-09-09
  • Linux系统(Centos6.5以上)安装jdk教程解析

    Linux系统(Centos6.5以上)安装jdk教程解析

    这篇文章主要介绍了Linux系统(Centos6.5以上)安装jdk教程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • centos6-7 yum安装php的方法(推荐)

    centos6-7 yum安装php的方法(推荐)

    这篇文章主要介绍了centos6-7 yum安装php的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-01-01

最新评论