rsync+nfs+inotify

rsync:备份服务和scp差不多但是不同的是rsync是增量备份而scp是全量备份,更加节省磁盘。(备份服务器(数据库文件,全网重要文件

))

好处:增量备份

缺点:大文件传输存在瓶颈

------------------------------------------------------------------------------------------------

nfs:网络文件系统(文件服务器(jsp,jpg,gif等文件))

优点:稳定性较好。

缺点:只能处理tb级文件。容易出现单点故障问题(可以用DRBD+HEARTBEAT来调整解决),数据不安全(明文传输)

-------------------------------------------------------------------------------------------------

inotify:将监控的文件显示出来

好处:rsync只能手动找文件进行传输,有了inotify之后就可以通过监控一个目录,然后通过脚本进行自动化的备份。

缺点:只有单线程,有文件限制200个文件之后就会出现延迟。

部署过程:创建两台机器A,B(A:rsync备份机器;B:nfs+inoti+test测试机器)

-----------------------------------------------------------服务器A-------------------------------------------------------

1.关闭防火墙(这里我做了开机的启动优化)

awk‘: chkconfig --list | grep 3:on | grep -vE "sshd|rsyslog|sysstat|network|sshd" | awk ‘{print "chkconfig",$1,"off"}‘ |

bash

2.安装rsync

yum install rsync -y

3.创建rsync配置文件目录和配置文件

mkdir /etc/rsync && cd /etc/rsync && touch rsync.conf

4.配置rsync配置文件

uid = rsync

gid = rsync

use chroot = no

max connections = 5

pid file = /var/run/rsyncd.pid

log file = /var/log/rsyncd.log

[rong]

path=/data

ignore errors

read only = no

auth users = ls

secrets file = /etc/rsync/passwd

5.创建用户和备份目录

useradd rsync

mkdir /data

chown rsync.rsync /data

chmod 777 /data

6.创建ls(前面配置文件定义的虚拟用户)用户的密码文件并配置权限

echo "ls:123456" > /etc/rsync/passwd

chmod 600 /etc/rsync/passwd

7.启动rsync(这里需要注意rsync是后台启动的)

rsync --daemon --config=/etc/rsync/rsync.conf

8查看是否启动

lsof -i:873

到这里我们A(rsync)就配置完成了

---------------------------------------------------------服务器B-------------------------------------------------------

1.关闭防火墙(这里我做了开机的启动优化)

awk‘: chkconfig --list | grep 3:on | grep -vE "sshd|rsyslog|sysstat|network|sshd" | awk ‘{print "chkconfig",$1,"off"}‘ |

bash

2.1配置rsync的客户端密码文件并赋予权限

echo "123456" > /root/passwd

chmod 600 /root/passwd

2.2测试客户端的rsync是否好用

rsync -r /data/ [email protected]::rong --password-file=/root/passwd

3.安装nfs服务器(一般默认是安装的)

yum install nfs

3.1修改nfs服务器配置文件

echo "/data *(rw,all_squash)" >> /etc/exports

3.2创建nfs共享文件

mkdir /data

chmod 777 /data

3.3.启动rpcbind

/etc/init.d/rpcbind start

3.4.启动nfs

/etc/init.d/nfs start

3.5查看nfs是否成功并挂载

showmount -e localhost

mount 10.0.0.101:/data/ /mnt/

4.安装inotify

4.1安装epel源

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo

4.2安装inotify

yum install inotify-tools -y

4.3查看inotify是否好用

A:inotifywait -rmq --format "%w%f" -e create,delete,close_write /data/

B:另创建窗口,往/data中创建文件看A窗口是否有显示

4.4编写inotify监控脚本

#!/bin/bash

inotifywait -rmq --format "%w%f" -e create,delete,close_write /data/ | while read line

do

if [ -f $line ]

then

rsync -az --delete $line [email protected]::rong --password-file=/root/passwd

else

rsync -za --delete -r /data/ [email protected]::rong --password-file=/root/passwd

fi

done

4.5安装screen

yum install screen -y

4.6创建screen后台窗口运行脚本

screen -S jk

sh jiankong.sh

Ctrl +A+D 退出

4.7查看是否能够实现nfs挂载目录的备份

cd /mnt

touch aa

然后到rsync的机器上查看/data下是否存在aa文件

然后去nfs的mnt下试着rm -rf mkdir等操作看rsync机器的/data是否能够同步这些操作。

时间: 2024-08-24 05:49:23

rsync+nfs+inotify的相关文章

(转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80%9A%E8%BF%87rsync%E4%B8%8Einotify%E5%BC%82%E6%AD%A5%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%BA%8B%E4%BB%B6%E7%9B%91%E6%8E%A7%E6%9C%BA%E5%88%B6%E5%AE%9E

rsync nfs 实时同步,结合实战

目录 rsync nfs 实时同步,实战 一.部署rsync服务端(backup) 二.部署rsync客户端(nfs,web01) 三.部署web代码(web01) 四.NFS服务端部署(nfs) 五.部署nfs备胎服务端(nfs) 六.部署nfs的客户端web01(web01) 七.backup实时同步nfs的data目录 八.定时任务并发邮件 九.NFS服务端部署sersync实时同步(nfs) 十.切换备胎backup(web01) rsync nfs 实时同步,实战 一.部署rsync服

rsync+nfs+sersync实战案例

回顾: 1.rsync 统一备份各个服务器的配置文件或重要文件 系统配置文件 日志文件 系统日志文件 messages.secure.cron 服务日志文件 access_log.access.log 服务配置文件 /etc/rsyncd.conf./etc/exports... 2.NFS 网络文件系统,提供共享存储服务3.sersync提供实时同步服务 实验组合: 1.rsync 实验环境: rsync服务器 rsync客户机 实验需求: rsync服务器提供同步模块,rsync客户端可以通

rsync、inotify实现web实时同步

. rsync.inotify实现web实时同步,布布扣,bubuko.com

rsync结合inotify实现实时同步

背景介绍 中小企业的web应用场景中,web服务器可能是由2台服务器组成,通过DNS的轮询作为负载均衡,此时就需要对2台服务器之间同步的实时性有较高的要求,上一篇文章所介绍的rsync+crontab就不能满足此需求,本章就来介绍使用rsync+inotify完成服务器之间的实时同步 实验说明 操作系统:CentOS6.8,inotify要求内核版本必须为2.6.13以上 源服务器:172.16.10.10/24 目标服务器:172.16.10.20/24 实验目的:将源服务器上的/rsync目

rsync 与 inotify 实现双机实时同步

折腾了一个上午,终于实现了rsync与inotify来实现双机实机的同步,现分享出来,操作步骤如下: A机:192.168.1.67 B机:192.168.1.68 先在A机上操作如下: 1:安装rsync 及inotify-tools 直接yum -y install rsync inotify-tools  安装就好.(inotify-tool需要安装epel的扩展源) 2:创建公钥(为了同步时不输入验证密码) 步骤如下: 1: ssh-keygen 2:scp -r /root/.ssh/

烂泥:rsync与inotify集成实现数据实时同步更新

本文首发于烂泥行天下. 上篇文章我们介绍了如何使用rsync同步文件,这篇文章我们再来介绍下,如何把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要分以下几个步骤: 1.rsync的优点与不足 2.inotify是什么 3.检测OS是否支持inotify 4.inotify相关参数详解 5.inotify监控的文件事件类似 6.inotify-tools是什么 7.安装inotify-tools 8.inotifywait使用详解 9.inotifywatch使用详解

rsync与inotify实现数据实时同步

Rsync与Inotify 单一的rsync只可以进行数据同步,单一的inotify只可以实时监控文件,两者结合使用刚好满足数据实时同步的需求,下面就用一个数据发布服务器和两个web服务器实例解析rsync+inotify实现实时同步. 数据发布服务器 192.168.1.5 (rsync+inotify) web服务器 192.168.1.6 192.168.1.7 (rsync) 首先在web服务器上部署rsync 192.168.1.6配置 [[email protected]~]# yu

rsync与inotify集成实现数据实时同步更新

本文转载:http://ilanni.blog.51cto.com/526870/1605200 把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要分以下几个步骤: 1.rsync的优点与不足 2.inotify是什么 3.检测OS是否支持inotify 4.inotify相关参数详解 5.inotify监控的文件事件类似 6.inotify-tools是什么 7.安装inotify-tools 8.inotifywait使用详解 9.inotifywatch使用详解