curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo --- 扩展源信息 yum makecache --更新yum源信息
yum install -y inotify-tools
[root@nfs01 ~]# rpm -ql inotify-tools
/usr/bin/inotifywait <--- 实现对数据目录信息变化监控(重点了解的命令) /usr/bin/inotifywatch <--- 监控数据信息变化,对变化的数据进行统计
[root@web01 inotify]# ls max_queued_events max_user_instances max_user_watches max_user_watches: 设置inotifywait或inotifywatch命令能够监视的文件数量(单进程) 默认只能监控8192个文件 max_user_instances: 设置每一个用户能够运行的inotifywait或inotifywatch命令的进程数 默认每一个用户能够开启inotify服务128个进程 max_queued_events: 设置inotify实例事件(event)队列可容纳的事件数量 默认监控事件队列长度为16384
rsync客户端与服务端部署html
a 检查rsync软件是否已经安装
b 编写rsync软件主配置文件
c 建立备份目录管理用户
d 建立备份目录,并进行受权
e 建立认证文件,编写认证用户和密码信息,设置文件权限为600
f 启动rsync守护进程服务linux
----------------------------------------------------------------------------------------web
a 检查rsync软件是否已经安装
b 建立认证文件,编写认证用户密码信息便可,设置文件权限为600
c 利用客户端进行数据同步测试shell
rsync -avz /backup rsync_backup@172.16.1.41::backup/`hostname -i` --passworld-file=/etc/rsync.passworldbash
rsync -avz /etc/hosts rsync_backup@172.16.1.41::backup --password-file=/etc/rsync.password curl
inotifywait
-m|--monitor 始终保持事件监听状态
-r 进行递归监控
-q|--quiet 将无用的输出信息,不进行显示
--timefmt <fmt> 设定日期的格式
man strftime 获取更多时间参数信息
--format <fmt> 命令执行过程当中,输出的信息格式
-e 指定监控的事件信息
man inotifywait 查看全部参数说明和全部能够监控的事件信息测试
create建立、delete删除、moved_to移入、close_write修改
inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" /data <-- 相对完整的命令应用
inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" -e create /data <-- 指定监控什么事件信息
inotifywait -mrq --format "%w%f" -e create,delete,moved_to,close_write /data
以上为实现实时同步过程,所须要的重要监控命令ui
编写脚本:实现inotify与rsync软件结合
#!/bin/bash #################### inotifywait -mrq --format "%w%f" -e create,delete,moved_to,close_write /data|\ while read line do rsync -az --delete /backup rsync_backup@172.16.1.41::backup/`hostname -i` --password-file=/etc/rsync.password --delete无差别同步 就是我没有你也要没有 done