rsync+inotify实现数据单向实时同步

主服务器端,向从服务器端实时同步数据

master端IP地址:192.168.1.39(node1)

slave端IP地址:192.168.1.40 (node2)

一、配置从服务器

  1. 在从服务器安装rsync,创建并配置rsync文件。
[[email protected] ~]# yum install -y rsync
hosts allow = 192.168.1.39
hosts deny = *
list = true
uid = root
gid = root
pid file = /var/run/rsyncd.pid  
lock file = /var/run/rsync.lock 
log file = /var/log/rsyncd.log 
[node2]
path = /data/node2
read only = no

2.在从服务器上创建需要同步的文件目录,并且启动rsync,查看进程和监听的端口。

[[email protected] ~]# mkdir -p /data/node2
[[email protected] ~]# rsync --daemon
[[email protected] ~]# ps -ef | grep rsync| grep -v "grep"
root      1723     1  0 22:17 ?        00:00:00 rsync --daemon
[[email protected] ~]# netstat -anpt | grep rsync
tcp        0      0 0.0.0.0:873                 0.0.0.0:*                   LISTEN      1723/rsync          
tcp        0      0 :::873                      :::*                        LISTEN      1723/rsync

3.手动测试rsync同步功能。

[[email protected] ~]# cd /data/node2/
[[email protected] node2]# echo "123456">a.txt
[[email protected] node2]# echo "abcd">b.txt  
[[email protected] node2]# cat a.txt b.txt 
123456
abcd
[[email protected] ~]# yum install -y rsync(在master上安装rsync)
[[email protected] ~]# mkdir -p /data/node1
[[email protected] ~]# rsync -avzP 192.168.1.40::node2 /data/node1/
receiving incremental file list
./
a.txt
           7 100%    6.84kB/s    0:00:00 (xfer#1, to-check=1/3)
b.txt
           5 100%    0.12kB/s    0:00:00 (xfer#2, to-check=0/3)

sent 68 bytes  received 180 bytes  23.62 bytes/sec
total size is 12  speedup is 0.05
[[email protected] ~]# cd /data/node1/
[[email protected] node1]# ls
a.txt  b.txt
[[email protected] node1]# cat a.txt b.txt 
123456
abcd
手动测试同步成功。

二、配置主服务器

  1. 编译安装inotify。
[[email protected] ~]# mkdir -p /taokey/tools
[[email protected] ~]# cd /taokey/tools/
[[email protected] tools]# tar -zxf inotify-tools-3.14.tar.gz
[[email protected] tools]# cd inotify-tools-3.14
[[email protected] inotify-tools-3.14]# ./configure
[[email protected] inotify-tools-3.14]# make
[[email protected] inotify-tools-3.14]# make install

2.配置inotify脚本。

#!/bin/bash
host=192.168.1.40
data_dir=/data/node1/
dst=node2
/usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e modify,delete,create,attrib $data_dir | while read files
   do
   #rsync -avzP $host::$dst $data_dir
   rsync -avzP --delete --progress $data_dir $host::$dst
   echo "${files} was rsynced" >> /tmp/rsync.log 2>&1 
done
[[email protected] inotify-tools-3.14]# chmod u+x inotify_rsync.sh 
[[email protected] inotify-tools-3.14]# bash inotify_rsync.sh &
[1] 4533
[[email protected] inotify-tools-3.14]# ps -ef | grep inoti | grep -v "grep"
root      4533  1880  0 18:02 pts/1    00:00:00 bash inotify_rsync.sh
root      4534  4533  0 18:02 pts/1    00:00:00 /usr/local/bin/inotifywait -mrq --timefmt %d/%m/%y %H:%M --format %T %w%f%e -e modify,delete,create,attrib /data/node1/
root      4535  4533  0 18:02 pts/1    00:00:00 bash inotify_rsync.sh

3.在主服务器上往从服务器上同步数据,测试。

[[email protected] ~]# cd /data/node1/
[[email protected] node1]# ls
a.txt  b.txt
[[email protected] node1]# touch c.txt
[[email protected] node1]# sending incremental file list
./
c.txt
           0 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/4)

sent 111 bytes  received 30 bytes  13.43 bytes/sec
total size is 12  speedup is 0.09
sending incremental file list

sent 72 bytes  received 8 bytes  7.62 bytes/sec
total size is 12  speedup is 0.15

[[email protected] node1]# 
[[email protected] node2]# ls
a.txt  b.txt  c.txt
[r[email protected] node1]# rm -rf a.txt 
[[email protected] node1]# sending incremental file list
./
deleting a.txt

sent 61 bytes  received 11 bytes  6.86 bytes/sec
total size is 5  speedup is 0.07

[[email protected] node1]# 
[[email protected] node2]# ls
b.txt  c.txt
试验成功!
时间: 2024-12-05 14:40:18

rsync+inotify实现数据单向实时同步的相关文章

rsync+inotify实现数据的实时同步

一,简介: 1. rsync是类unix系统下的数据镜像备份工具--remote sync.一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步.与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业

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

我这个人写一些东西难免要发一番感慨,今天做rsync+inotify实现实时备份,做了好长时间没做出来,这段时间我看了好多博文还有一些视频,但自己做的时候还是没做出来,非常郁闷,就拿起书慢慢的看起来,最终我把思路整理好,又重新试验了一遍终于成功了.是的,你百分之九十的时间在实践,而剩下百分之十的时间才能到达成功,坚持加再看一遍很重要. 我先整理一下大致思路,如有时间,我再整理完整的文档出来. 1.先在两台主机里面安装rsync. 2.在服务节点上配置rsync. 3.在内容发布节点上安装inot

rsync+inotify 实现服务器文件实时同步

rsync+inotify 实现服务器文件实时同步 操作系统:CentOS 6.X 源服务器:192.168.80.132 目标服务器:192.168.80.128 目的:把源服务器上/data/app目录实时同步到目标服务器的/data/app下 具体操作: 第一部分:在目标服务器192.168.80.128上操作 一.在目标服务器安装Rsync服务端 1.关闭SELINUX vi /etc/selinux/config #SELINUX=enforcing #SELINUXTYPE=targ

利用unison+inotify 实现数据双向实时同步

利用unison+inotify 实现数据双向实时同步 环境:Centos 6.5 64位 server1 :192.168.1.201 server2 :192.168.1.250 需求软件:ocaml unison inotify 我这里全是使用yum安装的,若是喜欢使用源码编译安装的可以官网下载源码包. yum install ocaml unison inotify 第一步:保证两台服务器之间可以通过ssh无密码访问,为了安全,需要创建一个普通用户: 两边执行的步骤一样: useradd

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

一.rsync概述 1.1.rsync的优点与不足 rsync与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.  随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量

rsync+inotify节点间文件实时同步

说明: 操作系统:CentOS 7.2 server服务器(代码.数据检入)server: SLB-1:10.171.63.120 client服务器(数据检出.主动推送)client:WWW:10.163.0.233 目的:把client服务器上/www/web目录实时同步到server服务器的/www/web下 ============================================================ 具体操作: 第一部分:在server--SLB-1_10.1

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

我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首

通过rsync+inotify实现数据的实时备份 【转载】

   在前面的博文中,我讲到过利用rsync实现数据的镜像和备份,但是要实现数据的实时备份,单独靠rsync还不能实现,本文就讲述下如何实现数据的实时备份. 一.rsync的优点与不足  与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等.  随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中

配置rsync+inotify实现站点文件实时同步

一.rsync简介 rsync是linux系统下的数据镜像备份工具.可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,在传输前执行压缩,因此非常适用于异地备份.镜像服务器等应用. rsync的官方站点为http:rsync.samba.org/ 二.使用rsync备份工具 2.1.rsync命令的基本用法 用法类似于cp命令,例如将文件/etc/fstab 和目录/boot/grub同步备份到.opt目录下,其中-r表示递归整个目录,-l选项用来备份链接文