您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux安装rsync和inotify实现文件夹实时同步

时间:2022-05-25 11:52:50  来源:  作者:星锅说事

需求说明

在web服务器中,作为代码发布机A,文件同步到服务器B,C,D等集群中,可以忽略某个文件和目录。

A服务器:内网IP: 192.168.1.2

B服务器:内网IP: 192.168.1.3

A和B的www用户,或者root用户免密登录。

Linux安装rsync和inotify实现文件夹实时同步

 

rsync介绍

rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。

inotify介绍

inotify是一种强大的、细粒度的、异步的文件系统事件监控机制,linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加、删除,修改、移动等各种细微事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools就是这样的一个第三方软件。

1.安装rsync

A和B都做

yum -y install xinetd
yum -y install rsync

chkconfig  rsync  on

service xinetd restart
systemctl restart xinetd

A上操作:

rsync -av root@192.168.1.3:/rsynctest/1.txt /root

B上操作

rsync -av /rsynctest/2.txt root@192.168.1.2:/root
rsync -av -e "ssh -p 22" /rsynctest/2.txt root@192.168.1.2:/root        【如果ssh的开启的端口不是22 则用-e指定ssh端口】

2.安装 inotify

只在A上操作即可。

安装inotify-tools
wget http://js.地址funet8地址.com/centos_software/inotify-tools-3.14.tar.gz
tar -zxvf inotify-tools-3.14.tar.gz 
cd inotify-tools-3.14
./configure
make 
make install

inotifywait -m /root    【查看inotify-tools是否运行正常】


新开一个终端:
[root@localhost ~]# cd /root
[root@localhost ~]# touch bb.txt

监控到

# inotifywait -m /root
Setting up watches.
Watches established.
/root/ OPEN .bash_profile
/root/ ACCESS .bash_profile
/root/ CLOSE_NOWRITE,CLOSE .bash_profile
/root/ OPEN .bashrc
/root/ ACCESS .bashrc
/root/ CLOSE_NOWRITE,CLOSE .bashrc
/root/ CREATE bb.txt
/root/ OPEN bb.txt
/root/ ATTRIB bb.txt
/root/ CLOSE_WRITE,CLOSE bb.txt

网站实时同步脚本

test.sh 为要运行网站实时同步脚本 其中定义了要同步的网站的路径,要同步到的ip地址,哪些后缀名的文件忽略监控,同步的用户名,同步的文件列表,哪些文件不需要同步。

cat test.sh
#!/bin/sh
SRC=/data/wwwroot/web/test/ #代码发布服务器目录
DST=/data/wwwroot/web/test/ #目标服务器目录

IP="192.168.1.3 192.168.1.4" # 这里可以用hostname,多个主机用空格
USER=www
inotifywait -mrq $SRC -e modify,delete,create,close_write,attrib  | while read D E F  
        do  
                for i in $IP
                do
                        #排除后缀名和目录
                        /usr/bin/rsync -e 'ssh -p 60920' 
                        -ahqzt --exclude "*.swp" 
                        --exclude "*.svn" 
                        --exclude "test/" 
                        --exclude "runtime/" 
                        --delete $SRC $USER@$i:$DST
                done
        done

运行:

增加权限:
chmod +x test.sh

后台运行:
nohup ./test.sh > nohup_test 2>&1 &

生成一个文件才能触发文件同步
touch /data/wwwroot/web/test/test_rsync_`date +%Y%m%d-%H:%M:%S`.html

删除测试文件
rm -rf /data/wwwroot/web/test/test_rsync*.html

测试文件是否同步


Tags:rsync   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
需求说明在web服务器中,作为代码发布机A,文件同步到服务器B,C,D等集群中,可以忽略某个文件和目录。A服务器:内网IP: 192.168.1.2B服务器:内网IP: 192.168.1.3A和B的www用户,或者roo...【详细内容】
2022-05-25  Tags: rsync  点击:(0)  评论:(0)  加入收藏
对于运维不得不得做的就是备份,增量备份与全量备份,通过rsync工具可以快速做到远程备份。rsync的应用: 1.备份文件 2.全量备份 3.增量备份。 通过rsync+inotify实时同步文件。...【详细内容】
2022-05-24  Tags: rsync  点击:(4)  评论:(0)  加入收藏
rsync官方网址:https://rsync.samba.org/一:rsync介绍rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具。在守护进程模式(daemon mode)下,rs...【详细内容】
2022-02-25  Tags: rsync  点击:(63)  评论:(0)  加入收藏
1. 几大实时同步工具比较1.1 inotify + rsync最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达...【详细内容】
2021-05-19  Tags: rsync  点击:(242)  评论:(0)  加入收藏
1. 前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsy...【详细内容】
2020-09-17  Tags: rsync  点击:(189)  评论:(0)  加入收藏
OpenSSH 项目表示,他们认为 scp 协议已经过时,不灵活,而且不容易修复,然后他们继而推荐使用 sftp 或 rsync 来进行文件传输。• 来源:linux.cn • 作者:Chasinglogic &bu...【详细内容】
2020-09-03  Tags: rsync  点击:(116)  评论:(0)  加入收藏
前言之前毕设有用到文件增量同步,于是乎就记录一下。场景在A和B两个不同端之间有相似度很高的文件,同时这个文件又比较大。如果通过全量传输来更新,http传输量很大,非常不友好。...【详细内容】
2020-08-28  Tags: rsync  点击:(285)  评论:(0)  加入收藏
1、准备好系统环境与软件:这里使用的linux是centos 7.8,如下:查linux版本windows使用的是win10。Rsync 服务端linux使用的是3.1.2:rsync版本linux端可以使用yum install -y rsyn...【详细内容】
2020-08-04  Tags: rsync  点击:(132)  评论:(0)  加入收藏
概述:烟台某企业Oracle 的数据备份有逻辑备份和Rman备份,备份策略只保存到本机,为了数据安全性,再增加一份保险,通过NFS和rsync把数据备份到异机,服务端redhat,目标端centos,操作如...【详细内容】
2020-07-28  Tags: rsync  点击:(125)  评论:(0)  加入收藏
1. 前言本文主要讲解Linux系统中的Rsync如何利用SSH加密隧道同步文件。在网络系统之间传输或同步文件时,Linux和Unix用户可以使用很多工具。Rsync如何利用SSH加密隧道同步文...【详细内容】
2019-11-12  Tags: rsync  点击:(265)  评论:(0)  加入收藏
▌简易百科推荐
需求说明在web服务器中,作为代码发布机A,文件同步到服务器B,C,D等集群中,可以忽略某个文件和目录。A服务器:内网IP: 192.168.1.2B服务器:内网IP: 192.168.1.3A和B的www用户,或者roo...【详细内容】
2022-05-25  星锅说事    Tags:rsync   点击:(0)  评论:(0)  加入收藏
Linux 内核 5.18 包括一个英特尔驱动程序,该驱动程序可能允许芯片制造商在用户支付许可证后启用新的芯片功能。Linux的创建者Linux Torvalds在通过开发的最后一周后宣布了稳...【详细内容】
2022-05-24  博学的轮船Y    Tags:Linux 内核   点击:(1)  评论:(0)  加入收藏
对于Linux服务器而言,其默认的远程访问端口为22。但是,出于安全方面的考虑,一般都会修改该端口。下面我来简答介绍一下如何修改Linux服务器默认的远程访问端口。对于默认端口而...【详细内容】
2022-05-23  但求无Bug    Tags:端口   点击:(6)  评论:(0)  加入收藏
strace是什么?按照strace官网的描述, strace是一个可用于诊断、调试和教学的Linux用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状...【详细内容】
2022-05-12  运维老男孩  博客园  Tags:strace命令   点击:(25)  评论:(0)  加入收藏
一、服务器资源服务名称:Linux服务器IP:[请查看资源分配文档]操作系统:CentOS 7.8 x64二、postgresql安装2.1、postgresql下载下载地址: www.postgresql.org/ftp/source/ 2.2...【详细内容】
2022-05-11  java柚子茶    Tags:postgresql   点击:(29)  评论:(0)  加入收藏
我们平时分享的µC/OS、FreeRTOS、RT-Thread、ThreadX这些都是实时操作系统(RTOS),那么有读者问:什么是分时操作系统,Linux属于实时操作系统吗? 实时操作系统(RTOS)RTOS,英文全...【详细内容】
2022-05-10  凡亿教育    Tags:Linux   点击:(33)  评论:(0)  加入收藏
免密流程假设有两台Linux的服务器,A(192.168.240.1)、B(192.168.240.2),现在想通过A服务器免密登录B服务器,那么首先需要将A服务器的SSH公钥复制到B服务器的授权列表文件中(就是...【详细内容】
2022-05-09  sherman168    Tags:ssh配置   点击:(22)  评论:(0)  加入收藏
一、概述这曾经发生在你身上吗?你意识到你错误地删除了一个文件---要么通过Del键,要么在命令行中使用rm。在第一种情况下,您可以使用回站站(GNOME界面),然后将其恢复到原始位置。...【详细内容】
2022-05-09  雪竹频道    Tags:Linux   点击:(29)  评论:(0)  加入收藏
1、下载linux版本的rar软件访问 WinRAR archiver, a powerful tool to process RAR and ZIP files 下载最新版本的linux版本rar软件 2、解压下载好的安装文件tar -xzpvf rar...【详细内容】
2022-05-07  高道天    Tags:rar文件   点击:(27)  评论:(0)  加入收藏
BusyBox 是一个集成了三百多个最常用Linux命令和工具的软件。功能便捷、强大。安装需要有root权限查询并下载自己手机的CPU型号及对应busybox二进制文件:c:\tmp\fastboot>adb...【详细内容】
2022-04-26  中微中科技    Tags:Busybox   点击:(37)  评论:(0)  加入收藏
站内最新
站内热门
站内头条