实时同步
一、部署公钥 私钥,实现远程ssh无密码验证
虚拟机svr7:
1.生成公钥 私钥
[root@svr7 ~]# ssh-keygen #一路回车
[root@svr7 ~]# ls /root/.ssh/
id_rsa id_rsa.pub known_hosts
2.传递公钥 到虚拟机B
[root@svr7 ~]# ssh-copy-id root@192.168.4.207
3.虚拟机pc207:查看
[root@pc207 ~]# ls /root/.ssh/
authorized_keys
4.虚拟机svr7:测试无密码同步
[root@svr7 ~]# rsync --delete -avz /opt/ root@192.168.4.207:/opt/
二、虚拟机svr7 监控目录内容的变化
• Linux内核的 inotify 机制
– 提供事件响应式的文件系统通知机制
– 安装 inotify-tools 控制工具可调用此机制实现监控
1.真机传递tools.tar.gz到虚拟机svr7
[root@svr7 ~]# scp /root/桌面/tools.tar.gz root@192.168.4.7:/root
2.虚拟机A验证:
[root@svr7 ~]# ls /root/
tools.tar.gz
[root@svr7 ~]#
3.安装源码包
[root@svr7 ~]# mkdir /nsd
[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /nsd
[root@svr7 ~]# tar -xf /nsd/tools/inotify-tools-3.13.tar.gz -C /root/
步骤1:安装gcc与make
[root@svr7 ~]# yum –y install gcc make
步骤2: ./configure 配置,指定安装目录/功能模块等选项
[root@svr7 ~]# cd /root/inotify-tools-3.13/
[root@svr7 ~] # ./configure
步骤4:make 编译,生成可执行的二进制程序文件
[root@svr7 ~]# make
步骤5:make install 安装,将编译好的文件复制到安装目录
[root@svr7 ~]# make install
[root@svr7 ~]# ls /usr/local/bin/inotifywait #验证程序产生
###############################################
三、书写Shell脚本完成,实时同步
死循环: while
while [条件]
do
重复执行的代码
done
[root@svr7 /]# vim /root/rsync.sh
#!/bin/bash
while inotifywait -rqq /opt
do
rsync --delete -az /opt/ root@192.168.4.207:/opt/
done &
[root@svr7 /]#
################################################