`
xiaojiit
  • 浏览: 132043 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

linux 利用inotify-tools配合rsync实时同步文件

阅读更多

1、安装inotify-tools 工具

      为能在shell下使用inotify特性,需要安装inotify-tools

      下载地址:http://inotify-tools.sourceforge.net/
      编译安装
          ./configure
          make
          make install

 

2、编写自动监听脚本 

   

shell 写道
#!/bin/bash
###########################
# 在这里配置本地文件夹,目标host,目标的rsync_module。rsync_module在同步机器的/etc/rsyncd.conf文件中配置
# 逗号前后不要有空格
#sync[0]='/tongbu,192.168.61.113,test' # localdir,host,rsync_module
#sync[0]='/tongbu,192.168.61.195,test' # localdir,host,rsync_module
sync[0]='/root,192.168.1.3,test'
#sync[1]='/tongbu,192.168.61.195,test1'
###########################

for item in ${sync[@]}; do

dir=`echo $item | awk -F"," '{print $1}'`
host=`echo $item | awk -F"," '{print $2}'`
module=`echo $item | awk -F"," '{print $3}'`

inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f %e' --event CLOSE_WRITE,create,move,delete $dir | while read date time file event
do
#echo $event'-'$file
case $event in
MODIFY|CREATE|MOVE|MODIFY,ISDIR|CREATE,ISDIR|MODIFY,ISDIR)
if [ "${file: -4}" != '4913' ] && [ "${file: -1}" != '~' ]; then
#cmd="rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd-clinet.pass $dir root@$host::$module"
cmd="rsync -vzrtopg --progress --delete $dir @$host::$module"
#echo $cmd
$cmd
fi
;;

MOVED_FROM|MOVED_FROM,ISDIR|DELETE|DELETE,ISDIR)
if [ "${file: -4}" != '4913' ] && [ "${file: -1}" != '~' ]; then
#cmd="rsync -vzrtopg --progress --delete --password-file=/etc/rsyncd-clinet.pass $dir root@$host::$module"
cmd="rsync -vzrtopg --progress --delete $dir @$host::$module"
#cho $cmd
$cmd
fi
;;
esac
done &
done

 3、将脚本加入启动项:

     添加到rc.local中,可在系统启动时,启动监听。

 

0
0
分享到:
评论

相关推荐

    inotify-tools+rsync同步使用方法介绍

    `inotify-tools` 和 `rsync` 是两个强大的开源工具,用于实时监控文件系统变动并同步数据。本篇文章将详细介绍如何结合这两个工具在Linux环境中实现高效的数据同步。 `inotify-tools` 是一组C语言编写的命令行工具...

    inotify-tools-3.14源码包

    inotify-tools与`rsync`、`nfs`等工具结合,可以实现高效的数据同步、备份和监控。例如,当监控目录有新文件生成时,可以立即触发`rsync`进行备份: ```bash inotifywait -m /source/directory -e close_write | ...

    inotify-tools-3.14.zip

    本文将深入探讨如何利用inotify-tools与rsync相结合,实现实时、高效的多服务器文件同步。 首先,我们需要了解inotify-tools的核心组件——inotifywait和inotifywatch。inotifywait允许程序等待特定文件系统事件的...

    inotify-tools+rsync实时同步文件的配置方法

    【inotify-tools】是Linux内核2.6版本后引入的一种文件系统监控工具,它能够实时监测文件系统中的各种变化,如创建、修改、删除、移动等事件。这对于需要实时同步文件的应用场景非常有用,例如在分布式系统或者备份...

    inotify-tools-3.14.tar.gz

    本文将深入探讨`inotify-tools`和Rsync如何共同实现Linux文件系统的实时同步。 `inotify-tools`是Linux下的一个开源软件包,版本为3.14,其主要包含`inotifywait`和`inotifywatch`两个命令行工具。`inotifywait`...

    inotify-tools软件包

    `inotify-tools`是一个非常实用的工具集,它提供了对Linux内核`inotify`接口的用户空间访问,使得我们可以实时监测文件系统事件。这个软件包包括了`inotifywait`和`inotifywatch`两个主要的命令行工具,它们为开发者...

    Rsync+sersync+inotify-tools

    "Rsync+sersync+inotify-tools"这个组合提供了一套高效且可靠的实时文件同步解决方案。接下来,我们将深入探讨这三个工具各自的功能以及它们如何协同工作。 **Rsync** Rsync(Remote Sync)是一款强大的、快速的...

    Linux内网离线用rsync和inotify-tools实现实时的文件夹文件单向同步和双向同步

    Linux内网离线用rsync和inotify-tools实现实时的文件夹文件单向同步和双向同步

    inotify-tools-3.14和3.13合集

    在Linux操作系统中,`inotify-...总的来说,`inotify-tools`和`rsync`的结合使用是Linux环境下实现高效、实时文件同步的重要技术。通过合理配置,它们可以提供可靠的数据保护和一致性保障,同时降低系统资源的消耗。

    过rsync inotify-tools ssh实现触发式远程实时同步

    ### rsync + inotify-tools + SSH 实现触发式远程实时同步 #### 一、概述 在数据同步领域,实现高效且自动化的文件同步是至关重要的。对于需要在两台或多台服务器之间保持文件同步的场景,传统的定时同步方法可能...

    rsync+inotify-tool

    将rsync与inotify-tools结合,可以实现非常强大的实时文件同步功能。例如,当在一个目录中创建、修改或删除文件时,inotify-tools可以检测到这些变化并立即触发rsync执行同步操作。这种实时同步的应用场景很广泛,如...

    rsync3.0.9+inotify-tools3.1.14

    总的来说,rsync3.0.9和inotify-tools3.1.14是Linux系统管理的重要工具,它们提供了高效、灵活的文件同步和监控能力。结合使用这两者,可以构建出一套高效、实时的文件同步解决方案,为企业的运维工作带来便利。

    CentOS下用rsync+inotify实现实时同步

    inotify可以监控文件系统中的变化,然后触发rsync同步命令,实现实时同步。 4. 配置rsync服务器 在rsync服务器端,我们需要编辑守护进程配置文件/etc/rsyncd.conf,设置工作用户、超时时间、进程号文件、日志文件...

    rsync+inotify开机自启动实时同步增量备份

    rsync+inotify开机自启动实时同步增量备份是通过使用rsync与inotify结合来实现Linux系统中文件的实时同步和增量备份。rsync是一个快速且灵活的文件传输工具,而inotify则是一个内核特性,它可以监控文件系统的变化。...

    rsync+inotify实时同步用到的资源

    结合rsync和inotify-tools,可以构建实时文件同步系统。当inotify检测到文件或目录有变化时,可以触发rsync进行同步操作。这样,任何在源目录中的改动都会立即被复制到目标目录,确保数据的一致性。 以下是一个基本...

    inotify + rsync实现linux文件实时同步.doc

    下面我们将详细探讨 `inotify` 的功能特性、`inotify-tools` 的安装与使用,以及如何与 `rsync` 配合实现文件实时同步。 一、inotify 介绍 `inotify` 是 Linux 内核提供的一种文件系统事件监控机制,相比于早期的 ...

Global site tag (gtag.js) - Google Analytics