美文网首页
文件夹实时同步

文件夹实时同步

作者: akka9 | 来源:发表于2019-04-04 20:21 被阅读0次
src=/app/a
des=/app/b

# set -x -o  #调试模式

set -e -o nounset   # 变量未初始化自动退出,脚本中间执行异常也会自动退出

logfile=/tmp/$(basename $0).log
exec > $logfile 2>&1

cd $src
inotifywait -mrq --format  '%Xe %w%f' --excludei '(.*/\.|.lock$|.tmp$|.swp$|~$)' -e modify,create,delete,attrib,close_write,move $src | while read file
#inotifywait -mrq --format  '%Xe %w%f' --excludei '(.*/\.|.lock$|.tmp$|.swp$|~$)' $src | while read file
do
        INO_EVENT=$(echo $file | awk '{print $1}')      # 把inotify输出切割 把事件类型部分赋值给INO_EVENT
        INO_FILE=$(echo $file | awk '{print $2}')       # 把inotify输出切割 把文件路径部分赋值给INO_FILE
#        echo "-------------------------------$(date)------------------------------------"

        desdir=$des/$(dirname $INO_FILE | sed "s#^$src##")/
        echo $(date +%Y-%m-%dT%T%:z) $INO_EVENT $INO_FILE $desdir

case $INO_EVENT in
'CREATE'|'MODIFY'|'CLOSE_WRITE'|'MOVED_TO'|'CLOSE_WRITEXCLOSE'|'CLOSE_NOWRITEXCLOSEXISDIR'|'CREATEXISDIR'|'MOVED_TOXISDIR'  )   rsync -Pavc $(dirname ${INO_FILE})/ $desdir  ;;
'DELETE'|'MOVED_FROM'|'DELETEXISDIR'|'MOVED_FROMXISDIR' ) rsync -avz --delete $(dirname ${INO_FILE})/ $desdir ;;
'ATTRIB' )   [ ! -d "$INO_FILE" ] && rsync -Pavc $(dirname ${INO_FILE})/ $desdir ;;
esac

done

参考来源:
http://www.ttlsa.com/web/let-infotify-rsync-fast/

注意: cephfs 12 目前还不支持 inotify 的检测方式 http://tracker.ceph.com/issues/15507
ceph 14 已经支持部分信号,以上脚本测试支持。

相关文章

  • 文件夹实时同步

    参考来源:http://www.ttlsa.com/web/let-infotify-rsync-fast/ 注意...

  • Linux sersync day35

    什么是实时同步为什么要实时同步实时同步的原理实时同步的场景实时同步工具选择实时同步案例演示 一、什么是实时同步 实...

  • 备份服务之实时同步备份(sersync)

    实时同步备份方法1)利用脚本实现实时同步2)利用软件实现实时同步 实时同步备份原理 存储服务器 --...

  • lsyncd实时同步搭建指南

    将本地文件夹/home/wt/remote_dirs/codes_in_vr的内容实时同步到远程的/home/wt...

  • 综合架构实时同步详解

    day35 综合架构实时同步 课程介绍: 1.实时同步原理概念2.实现实时同步方式3.实现实时同步方式1)利用脚本...

  • 实现实时同步备份总结

    实现实时同步备份总结 \ 一. 实时同步备份原理1.inotify实时监控2.rsync实时传输3.sersy...

  • linux使用unison+inotify实时双向同步

    背景介绍: 平时根据业务需求,跑服务的某个文件夹需要两边互相备份,并且实时同步。 环境: 安装unison和ino...

  • 实时同步

    预备知识 实时同步概述 什么是实时同步 实时同步是一种只要当前目录发生变化则会触发一个事件,事件触发后会将变化的目...

  • Linux_295_Sersync工具介绍

    ftp:效率低,不支持差异化,实时同步实时数据同步:rsync + inotify-toolssersync:还能...

  • sersync 对网站数据实时同步备份

    sersync 实现实时同步数据 1 sersync实时同步原理 rsync守护进程服务,实现数据传输 inoti...

网友评论

      本文标题:文件夹实时同步

      本文链接:https://www.haomeiwen.com/subject/jzzqiqtx.html