您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > 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 x.NETd
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   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
抛弃 scp 改用 rsync,让 Linux 下文件传输高效无比
我们都使用过 scp 来传输文件。当传输在中途或甚至在 99% 时被中断时,我们都会诅咒不已(每当我想起99%的中断传输时,我的心都很痛);让我们看看如何使用 rsync 来替代 scp,避免这样...【详细内容】
2023-08-02  Search: rsync  点击:(571)  评论:(0)  加入收藏
一篇文章学会数据备份利器rsync
阿铭linux近16年的IT从业经验,6年+鹅厂运维经验,6年+创业公司经验,熟悉大厂运维体系,有从零搭建运维体系的实战经验。关注我,学习主流运维技能,让你比别人提升更快,涨薪更多!作为...【详细内容】
2023-01-16  Search: rsync  点击:(307)  评论:(0)  加入收藏
Linux安装rsync和inotify实现文件夹实时同步
需求说明在web服务器中,作为代码发布机A,文件同步到服务器B,C,D等集群中,可以忽略某个文件和目录。A服务器:内网IP: 192.168.1.2B服务器:内网IP: 192.168.1.3A和B的www用户,或者roo...【详细内容】
2022-05-25  Search: rsync  点击:(425)  评论:(0)  加入收藏
Linux中使用rsync数据备份工具和实例
对于运维不得不得做的就是备份,增量备份与全量备份,通过rsync工具可以快速做到远程备份。rsync的应用: 1.备份文件 2.全量备份 3.增量备份。 通过rsync+inotify实时同步文件。...【详细内容】
2022-05-24  Search: rsync  点击:(375)  评论:(0)  加入收藏
Linux搭建rsync备用服务器,及配置文件详解
rsync官方网址:https://rsync.samba.org/一:rsync介绍rsync是一款开源的、快速的、多功能的、可实现全量及增量的本地或远程数据同步备份工具。在守护进程模式(daemon mode)下,rs...【详细内容】
2022-02-25  Search: rsync  点击:(444)  评论:(0)  加入收藏
lsyncd实时同步搭建指南——取代rsync+inotify
1. 几大实时同步工具比较1.1 inotify + rsync最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是inotify + rsync,但随着文件数量的增大到100W+,目录下的文件列表就达...【详细内容】
2021-05-19  Search: rsync  点击:(440)  评论:(0)  加入收藏
linux之间传文件命令之Rsync傻瓜式教程
1. 前言linux之间传文件命令用什么命令?本文介绍一种最常用,也是功能强大的文件同步和传输工具Rsync,本文提供详细傻瓜式教程。在本教程中,我们将通过实际使用案例和最常见的rsy...【详细内容】
2020-09-17  Search: rsync  点击:(482)  评论:(0)  加入收藏
scp 用户的 rsync 迁移指南
OpenSSH 项目表示,他们认为 scp 协议已经过时,不灵活,而且不容易修复,然后他们继而推荐使用 sftp 或 rsync 来进行文件传输。• 来源:linux.cn • 作者:Chasinglogic &bu...【详细内容】
2020-09-03  Search: rsync  点击:(290)  评论:(0)  加入收藏
文件增量同步之rsync算法
前言之前毕设有用到文件增量同步,于是乎就记录一下。场景在A和B两个不同端之间有相似度很高的文件,同时这个文件又比较大。如果通过全量传输来更新,http传输量很大,非常不友好。...【详细内容】
2020-08-28  Search: rsync  点击:(632)  评论:(0)  加入收藏
rsync实现 linux与windows备份同步
1、准备好系统环境与软件:这里使用的linux是centos 7.8,如下:查linux版本windows使用的是win10。Rsync 服务端linux使用的是3.1.2:rsync版本linux端可以使用yum install -y rsyn...【详细内容】
2020-08-04  Search: rsync  点击:(600)  评论:(0)  加入收藏
▌简易百科推荐
微软 Win11 Linux 子系统(WSL)发布 2.2.2 版本
IT之家 4 月 8 日消息,微软近日更新 Windows Subsystem for Linux(WSL),最新 2.2.2 版本中带来了诸多改进,重点更新了 nft 规则,可以让 IPv6 流量通过 Linux 容器。图源: dev.to,AI...【详细内容】
2024-04-08    IT之家  Tags:Linux   点击:(10)  评论:(0)  加入收藏
从原理到实践:深入探索Linux安全机制
Linux 是一种开源的类Unix操作系统内核,由Linus Torvalds在1991年首次发布,其后又衍生出许多不同的发行版(如Ubuntu、Debian、CentOS等)。前言本文将从用户和权限管理、文件系统...【详细内容】
2024-03-27  凡夫编程  微信公众号  Tags:Linux安全   点击:(26)  评论:(0)  加入收藏
在Linux系统中,如何处理内存管理和优化的问题?
本文对 Linux 内存管理和优化的一些高级技巧的详细介绍,通过高级的内存管理技巧,可以帮助系统管理员和开发人员更好地优化 Linux 系统的内存使用情况,提高系统性能和稳定性。在...【详细内容】
2024-03-26  编程技术汇  微信公众号  Tags:Linux   点击:(18)  评论:(0)  加入收藏
Linux 6.9-rc1 内核发布:AMD P-State 首选核心、BH 工作队列
IT之家 3 月 25 日消息,Linus Torvalds 宣布,Linux 6.9 内核的首个 RC(候选发布)版 Linux 6.9-rc1 发布。▲ Linux 6.9-rc1Linus 表示,Linux 内核 6.9 看起来是一个“相当正常”...【详细内容】
2024-03-25    IT之家  Tags:Linux   点击:(16)  评论:(0)  加入收藏
轻松实现Centos系统的软件包安装管理:yum指令实战详解
yum 是一种用于在 CentOS、Red Hat Enterprise Linux (RHEL) 等基于 RPM 的 Linux 发行版上安装、更新和管理软件包的命令行工具。它可以自动解决软件包依赖关系,自动下载并...【详细内容】
2024-02-27  凡夫贬夫  微信公众号  Tags:Centos   点击:(61)  评论:(0)  加入收藏
Win + Ubuntu 缝合怪:第三方开发者推出“Wubuntu”Linux 发行版
IT之家 2 月 26 日消息,一位第三方开发者推出了一款名为“Wubuntu”的缝合怪 Linux 发行版,系统本身基于 Ubuntu,但界面为微软 Windows 11 风格,甚至存在微软 Windows 徽标。据...【详细内容】
2024-02-27    IT之家  Tags:Ubuntu   点击:(55)  评论:(0)  加入收藏
Linux中磁盘和文件系统工作原理解析
在Linux系统中,一切皆文件的概念意味着所有的资源,包括普通文件、目录以及设备文件等,都以文件的形式存在。这种统一的文件系统管理方式使得Linux系统具有高度的灵活性和可扩展...【详细内容】
2024-02-20  王建立    Tags:Linux   点击:(61)  评论:(0)  加入收藏
Linux子系统概览
inux操作系统是一个模块化的系统,由多个子系统组成。这些子系统协同工作,使Linux能够执行各种任务。了解Linux的子系统有助于更好地理解整个操作系统的运作机制。以下是Linux...【详细内容】
2024-02-01    简易百科  Tags:Linux   点击:(88)  评论:(0)  加入收藏
Linux内核:系统之魂与交互之源
内核,作为任何基于Linux的操作系统的心脏,扮演着至关重要的角色。它不仅是计算机系统软件与硬件之间的桥梁,更是确保系统稳定、高效运行的关键。内核提供了一系列核心功能,为上...【详细内容】
2024-02-01  松鼠宝贝    Tags:Linux内核   点击:(74)  评论:(0)  加入收藏
如何确保Linux进程稳定与持久
在Linux系统中,进程的稳定性与持久性对于维持系统的持续运行至关重要。然而,由于各种原因,进程可能会面临崩溃或系统重启的情况。为了确保关键进程能够持续运行,我们必须采取一...【详细内容】
2024-01-19  松鼠宝贝    Tags:Linux进程   点击:(94)  评论:(0)  加入收藏
站内最新
站内热门
站内头条