linux

Linux_294_Inotify结合rsync事件同步复制

2022-10-31  本文已影响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

上一篇 下一篇

猜你喜欢

热点阅读