美文网首页linux
Linux_294_Inotify结合rsync事件同步复制

Linux_294_Inotify结合rsync事件同步复制

作者: 为宇绸缪 | 来源:发表于2022-10-31 10:51 被阅读0次

    Inotify结合rsync事件同步复制
    角本化实现事件检测与rsync进行数据同步

    1、生成多行的数字
    seq 5 > ./cc.txt

    2、编写脚本,循环读取文件内容,按行读取
    vim read.sh

    #!/bin/bash 
    cat ./cc.txt | \ 
    while read line 
            do 
                    echo $line 
            done
    

    bash read.sh 或者 sh read.sh
    sh -x read.sh 会详细显示脚本执行的过程
    while read line 无限循环的去读取文件的每一行

    编写实时同步脚本
    mkdir -p /myscripts
    cd /myscripts/
    touch inotify_rsync.sh
    vim inotify_rsync.sh
    写入如下内容
    作用:当检测到在/data目录下检测到了数据增加,删除的时候,就立即触发rsync同步命令

    #!/bin/bash
    cmd="/usr/bin/inotifywait" 
    $cmd -mrq --timefmt "%y-%m-%d %T"   --format "%T  %w%f 当前事件有:%e"  -e close_write,delete /data | \
    while read line
    do
            cd /data && \
            rsync -az --delete ./ rsync_backup@192.168.178.122::backup --password-file=/etc/rsync.password
    done
    

    cmd="/usr/bin/inotifywait" 定义命令
    $cmd 取出cmd的值

    执行脚本 sh inotify_rsync.sh 或 sh -x inotify_rsync.sh 会显示详细的信息

    vim取消高亮显示 :noh

    相关文章

      网友评论

        本文标题:Linux_294_Inotify结合rsync事件同步复制

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