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
网友评论