rsync + while

Posted syy1757528181

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync + while相关的知识,希望对你有一定的参考价值。

安装inotify-tools-3.14.tar.gz

tar xf inotify-tools-3.14.tar.gz && cd inotify-tools-3.14 ./configure --prefix=/app && make &&make install
vim auto_inotify.sh

安装inotify

[root@nfs /date]# yum provides inotifywait
[root@nfs /date]# yum -y install inotify-tools
[root@nfs /date]# rpm -q inotify-tools
inotify-tools-3.14-9.el7.x86_64
[root@nfs /date]# rpm -ql inotify-tools
/usr/bin/inotifywait #inotifywait在环境变量里面,可以TAB,可以直接执行
/usr/bin/inotifywatch
/usr/lib64/libinotifytools.so.0
/usr/lib64/libinotifytools.so.0.4.1
[root@nfs /date]# rpm -qc inotify-tools

参数

-m 持续监控
-r 递归
-q 静默,仅打印时间信息
--timefmt 指定输出时间格式
--format 指定事件输出格式
%Xe 事件
%w 目录
%f 文件
-e 指定监控的事件
access 访问
modify 内容修改
attrib 属性修改
close_write 修改真实文件内容
open 打开
create 创建
delete 删除
umount 卸载
attrib 属性
close_write 写入并且关闭

翻译

MODIFY 修改
backup 备份
close 关闭
DELETE 删除
CREATE 创建

测试

/usr/bin/inotifywait -mrq --format ‘%Xe %w %f‘ -e create,modify,delete,attrib,close_write /backup


#脚本
## 脚本1,作用:远程同步客户端 服务端的某一个目录,使两个目录里的 目录 文件 内容 一致
```bash
[root@backup ~]# vim rsync-inotify.sh
#!/bin/bash
export RSYNC_PASSWORD=123
jiankong_dir=‘/beifen‘
rsync_user=‘zls_bak‘
rsync_mkuai=‘bak‘

[ -d $jiankong_dir ]||mkdir -p $jiankong_dir
/usr/bin/inotifywait  -mrq  --format ‘%Xe  %w  %f‘ -e create,modify,delete,attrib,close_write $jiankong_dir | while read line;do
rsync -az --delete $jiankong_dir/ ${rsync_user}@10.0.0.41::${rsync_mkuai}
done &

脚本2,同一区域网下,一台主机监控另一台主机的某个目录,如果该目录下目录 文件 内容变动,发邮件

#!/bin/bash
export RSYNC_PASSWORD=123
jiankong_dir=‘/beifen‘
rsync_user=‘zls_bak‘
rsync_mkuai=‘bak‘

if [ ! -d $jiankong_dir ];then
        mkdir -p $jiankong_dir
fi
ssh 10.0.0.8 "/usr/bin/inotifywait  -mrq  --format ‘%Xe  %w  %f‘ -e create,modify,delete,attrib,close_write $jiankong_dir" | while read line;do
        echo ‘这个智障需求,是李建鹏提出来的‘| mail -s ‘sha X‘ 133411023@qq.com
done &

脚本3,监控一台主机的某个目录,如果该目录下目录 文件 内容变动,发邮件

#!/bin/bash
export RSYNC_PASSWORD=123
jiankong_dir=‘/beifen‘
rsync_user=‘zls_bak‘
rsync_mkuai=‘bak‘

if [ ! -d $jiankong_dir ];then
        mkdir -p $jiankong_dir
fi
/usr/bin/inotifywait  -mrq  --format ‘%Xe  %w  %f‘ -e create,modify,delete,attrib,close_write $jiankong_dir | while read line;do
        echo "$(date +%F-%T)_${jiankong_dir} 有变化啦,赶紧去看看吧,妖兽啦~~~" |mail -s ‘xxx‘ 12345678@qq.com
done &
































以上是关于rsync + while的主要内容,如果未能解决你的问题,请参考以下文章

js代码片段: utils/lcoalStorage/cookie

并行rsync

do-while 和 while 比较

使用rsync -arLP进行断点续传

使用While循环导出Excel

如何在微控制器按钮上使while循环更快?