一,服务端安装(备份服务器):

#安装rsync
cd /usr/local/src/
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
tar zxvf rsync-3.0..tar.gz
cd rsync-3.0.
./configure --prefix=/usr/local/rsync
make && make install #新建用户与密码认证文件
echo "backup:backup" > /usr/local/rsync/rsyncd.passwd
chmod /usr/local/rsync/rsyncd.passwd #新建rsync配置文件
cat > /usr/local/rsync/rsyncd.conf <<EOF
uid = root
gid = root
use chroot = no
max connections =
strict modes = yes
hosts allow = 192.168.1.101 #可以空格,允许多个
port =
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log [test]
#当前服务器要同步到此的目录(/home/jerome/test )
path = /home/jerome
ignore errors
read only = false
list = false
auth users = backup
secrets file = /usr/local/rsync/rsyncd.passwd
#PS:注意这里要将read only 修改为 false, 因为是要将文件同步到该模块的,必须可写 EOF #以守护进程方式启动rsync服务器
rsync --daemon --config=/usr/local/rsync/rsyncd.conf #我们可以把rsync脚本加入到开机启动项里
echo "/usr/local/rsync/bin/rsync --daemon --config=/usr/local/rsync/rsyncd.conf" >> /etc/rc.local

二,检查rsync 是否正常启动:

[root@localhost rsync]# netstat -tnlp | grep
tcp 0.0.0.0: 0.0.0.0:* LISTEN /rsync
tcp6 ::: :::* LISTEN /rsync

三,客户端安装(源服务器)

#安装rsync
cd /usr/local/src/
wget http://rsync.samba.org/ftp/rsync/src/rsync-3.0.9.tar.gz
tar zxvf rsync-3.0..tar.gz
cd rsync-3.0.
./configure --prefix=/usr/local/rsync
make && make install
echo "backup" > /usr/local/rsync/rsync.passwd
chmod /usr/local/rsync/rsync.passwd
#安装inotify
yum install inotify-tools -y

四,同步脚本

#!/bin/bash
host=192.168.1.102 #server的ip(备份服务器)
src=/home/test/ #server端要实时监控的目录(/home/test),des是认证的模块名,需要与client的des一致
des=test
user=backup inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f%e' -e modify,delete,create,attrib $src | while read files
do
  /usr/bin/rsync -vzrtopg --progress --password-file=/usr/local/rsync/rsync.passwd $src $user@$host::$des
  echo "${files} was rsynced" >>/data/logs/rsync.log >&
done

运行:

sh /usr/local/rsync/inotify_rsync.sh &

rsync+inotify 备份的更多相关文章

  1. 2-3-2 rsync+inotify备份同步数据

    RSYNC = Remote Sync 远程同步 高效,一定要结合shell 官网:https://rsync.samba.org Author: Andrew Tridgell, Wayne Dav ...

  2. 通过rsync+inotify实现数据的实时备份

    我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,r ...

  3. rsync+inotify实现远程数据备份

    一.rsync的基本介绍 1.  什么是rsync Rsync是一款开源的.快速的.多功能的.可以实现增量的本地货远程数据镜像同步备份的优秀工具,Rsync使用与unix,linux,windows等 ...

  4. 通过rsync+inotify实现数据实时备份同步

    一.环境描述 测试环境 需求:服务器A与服务器B为主备服务模式,需要保持文件一致性,现采用sersync基于rsync+inotify实现数据实时同步 环境描述: 主服务器172.26.7.50 ,从 ...

  5. rsync+inotify实现数据的实时备份

    一.rsync概述 1.1.rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需 ...

  6. 网站集群架构(LVS负载均衡、Nginx代理缓存、Nginx动静分离、Rsync+Inotify全网备份、Zabbix自动注册全网监控)--技术流ken

    前言 最近做了一个不大不小的项目,现就删繁就简单独拿出来web集群这一块写一篇博客.数据库集群请参考<MySQL集群架构篇:MHA+MySQL-PROXY+LVS实现MySQL集群架构高可用/高 ...

  7. rsync+inotify实现全网自动化数据备份-技术流ken

    rsync简介 “rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步” rsync的功能和特点 ...

  8. CentOS 6.5 rsync+inotify实现数据实时同步备份

    CentOS 6.5 rsync+inotify实现数据实时同步备份 rsync    remote sync 远程同步,同步是把数据从缓冲区同步到磁盘上去的.数据在内存缓存区完成之后还没有写入到磁盘 ...

  9. 通过rsync+inotify实现数据的实时备份(多台备份机)

    在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足  与传统的cp.ta ...

随机推荐

  1. STL常用序列容器

    这里简要的记述一下STL常用容器的实现原理,要点等内容. vector vector是比较常用的stl容器,用法与数组是非类似,其内部实现是连续空间分配,与数组的不同之处在于可弹性增加空间,而arra ...

  2. HashMap源码解析(java1.8.0)

    1.1 背景知识 1.1.1 红黑树 二叉查找树可能因为多次插入新节点导致失去平衡,使得查找效率低,查找的复杂度甚至可能会出现线性的,为了解决因为新节点的插入而导致查找树不平衡,此时就出现了红黑树. ...

  3. Spring IoC 容器的扩展

    前言 本篇文章主要介绍 Spring 中 BeanFactory 的扩展 ApplicationContext,我们平时日常开发中也基本上是使用它,不会去直接使用 BeanFactory. 那么在 S ...

  4. iOS-Code Data的快速体验

    Code Data Core Data 是iOS SDK 里的一个很强大的框架,允许程序员以面向对象的方式储存和管理数据.使用Core Data框架,程序员可以很轻松有效地通过面向对象的接口管理数据 ...

  5. Node.js躬行记(3)——命令行工具

    一.自定义 创建一个空目录,然后通过npm init命令初始化package.json文件,并按提示输入相关信息或直接回车使用默认信息,生成的内容如下所示. { "name": & ...

  6. 将XML转换为JSON并强制数组

    string xml = @"<person id='1'> <name>Alan</name> <url>http://www.google ...

  7. v-model 指令来实现双向数据绑定

    <div id="app"> <p>{{ message }}</p> <input v-model="message" ...

  8. ios判断当前设备是否是ipad

    + (BOOL)getIsIpad { NSString *deviceType = [UIDevice currentDevice].model; if([deviceType isEqualToS ...

  9. 多应用下 Swagger 的使用,这可能是最好的方式!

    问题 微服务化的时代,我们整个项目工程下面都会有很多的子系统,对于每个应用都有暴露 Api 接口文档需要,这个时候我们就会想到 Swagger 这个优秀 jar 包.但是我们会遇到这样的问题,假如说我 ...

  10. Vugen使用技巧

    调整各种选项的超时时间