码迷,mamicode.com
首页 > 其他好文 > 详细

rsync + while

时间:2020-05-08 22:40:21      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:lib64   --   内容   rsync   make   %x   客户端   ash   The   

安装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

标签:lib64   --   内容   rsync   make   %x   客户端   ash   The   

原文地址:https://www.cnblogs.com/syy1757528181/p/12853368.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!