linux系统中通过rsync+inotify实现网页自动同步

使用多个web服务器实现负载均衡,为了保持前端web服务器上资源的一致性可以通过rsync在主服务器上(可写入数据)将更新过的文件同步到其他从服务器(只读服务器),但是不能自动的进行实时同步,使用inotify可以实现实时同步

主服务器:192.168.6.205 inotify
从服务器:192.168.6.36 rsync

1、在从服务器上配置rsync,开启rsync服务,让主服务可以将资源同步到该服务器上

vim /etc/rsyncd.conf
uid = nginx
gid = nginx
port = 873
host all = 192.168.6.205
use chroot = on
max connections = 4
timeout = yes
[wordpress]
path = /usr/local/nginx/html/wordpress
comment = rsync files
ignore errors
read only = no
list = yes
auth users = rsync
secrets file = /etc/rsync.passwd

创建/etc/rsync.passwd密码配置文件
vim /etc/rsync.passwd
#用户:密码
rsync:rsync

2、在主服务器上安装inotify-tools

tar -zxvf inotify-tools-3.14.tar.gz
cd inotify-tools-3.14
./configure –prefix=/usr/local/inotify
make && make install

在主服务器上配置rsync密码文件,用于将数据同步到从服务器
vim /etc/rsync.passwd
#密码
rsync

创建脚本
vim inotifyrsync.sh

#!/bin/bash
host=192.168.6.36
src=/usr/local/nginx/html/wordpress/
dst=wordpress
user=rsync
inotifywait=/usr/local/inotify/bin/inotifywait
rsync=/usr/bin/rsync
$inotifywait -mrq –timefmt '%d/%m/%y %H:%M' –format '%T %w%f' -e modify,delete,create,attrib  $src  | while read files
do
       $rsync -vzrtopg –delete –progress –password-file=/etc/rsync.passwd $src $user@$host::$dst
        echo "${files} was rsynced" >>/tmp/rsync.log 2>&1
   done

(0)

相关推荐

  • Linux下安装配置nginx详解

    一.Linux下安装配置nginx 第一次安装nginx,中间出现的问题一步步解决. 用到的工具secureCRT,连接并登录服务器. 1.1 rz命令,会弹出会话框,选择要上传的nginx压缩包. #rz 1.2 解压 [root@vw010001135067 ~]# cd /usr/local/ [root@vw010001135067 local]# tar -zvxf nginx-1.10.2.tar.gz 1.3 进入nginx文件夹,执行./configure命令 [root@vw0

  • Linux下压缩与解压命令详解

    本文为大家分享了Linux下压缩与解压缩命令,供大家参考,具体内容如下 [tar命令] 解压:tar -zxvf FileName.tar 压缩:tar -czvf FileName.tar DirName [gz命令] 解压1:gunzip FileName.gz 解压2:gzip -d FileName.gz 压缩:gzip FileName .tar.gz 和 .tgz 解压:tar -zxvf FileName.tar.gz 压缩:tar -zcvf FileName.tar.gz Di

  • linux系统中rsync+inotify实现服务器之间文件实时同步

    之前做了"ssh信任与scp自动传输脚本"的技术文档,此方案是作为公司里备份的方法,但在实际的运行中,由于主服务器在给备份服务器传输的时候,我们的主服务器需要备份的文件是实时.不停的产生的,造成不知道主服务器给备份服务器传输了多少文件,磁盘空间就那么大,做备份的原因:一个是为了保持文件,另外一个是解决主服务器的磁盘饱满问题,但由于不知道备份服务器到底接收了多少文件,所以主服务器里的文件不敢删除(如果没有备份的情况下删除,问题就严重了,我这个是政府的项目,服务器里的文件都是重要的,删错了

  • linux下source命令使用详解

    Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile 对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下. source命令: source命令也称为"点命令",也就是一个点符号(.),是bash的内部命令. 功能:使Shell读入指定的Shell程序文件并依次执行文件中的所有语句 source命令通常用于重新执行刚修改

  • linux配置jdk环境变量简单教程

    前期准备 window安装VMware VMware安装linux系统 jdk-8u60-linux-x64.tar.gz (下载链接:链接: https://pan.baidu.com/s/1o88U0wq 密码: g5d9 ) linux 压缩解压命令 http://www.jb51.net/article/103658.htm linux常用命令之一: vi命令 linux下的source命令 http://www.jb51.net/article/103657.htm 方法/步骤 需要配

  • Linux shell常用的73条命令总结

    前言 使用Linux shell是一些程序员每天的基本工作,但我们经常会忘记一些有用的shell命令和技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.需要注意一点的是,有些用法需要在你的Linux系统里安装额外的软件.下面话不多说了,来看看详细的内容吧. 检查远程端口是否对bash开放: echo >/dev/tcp/8.8.8.8/53 && echo "open" 让进程转入后台: Ctrl + z 将进程转到前台: fg 产生随机的十六进

  • linux平台使用Python制作BT种子并获取BT种子信息的方法

    本文实例讲述了linux平台使用Python制作BT种子并获取BT种子信息的方法.分享给大家供大家参考,具体如下: 最近研究了一下linux BT服务器环境的搭建,需要在linux下制作BT种子并获取BT种子信息,整理了一下这个过程: 制作BT种子软件本站下载地址. 安装: [root@localhost src]# tar zxf mktorrent-1.0.tar.gz [root@localhost src]# cd mktorrent-1.0 [root@localhost mktorr

  • Linux INotif机制详解及实例代码

    Linux INotif机制 一. 前言: 众所周知,Linux 桌面系统与 MAC 或 Windows 相比有许多不如人意的地方,为了改善这种状况,开源社区提出用户态需要内核提供一些机制,以便用户态能够及时地得知内核或底层硬件设备发生了什么,从而能够更好地管理设备,给用户提供更好的服务,如 hotplug.udev 和 inotify 就是这种需求催生的.Hotplug 是一种内核向用户态应用通报关于热插拔设备一些事件发生的机制,桌面系统能够利用它对设备进行有效的管理,udev 动态地维护 /

  • 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 //主要的作用是对即将安装的软件进行配置,检查当前的环境是否满

  • linux中Jetty的安装和配置方法

    Jetty Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境.Jetty是使用Java语言编写的,它的API以一组JAR包的形式发布.开发人员可以将Jetty容器实例化成一个对象,可以迅速为一些独立运行(stand-alone)的Java应用提供网络和web连接.(Jetty是一个开源的软件,可以作为HTTP服务,javax.servlet的容器.) 配置jetty server的步骤: 创建server 配置connector 配

随机推荐