一、 进行环境的设置

1.修改两台虚拟机的SELinux
[root@svr7 ~]# setenforce 0
[root@svr7 ~]# getenforce
Permissive
[root@svr7 ~]# vim /etc/selinux/config
SELINUX=permissive
2.修改两台虚拟机的防火墙默认区域
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted
Success

二、 rsync同步数据

 命令用法
rsync [选项…] 源目录 目标目录
 同步与复制的差异
复制:完全拷贝源到目标
同步:增量拷贝,只传输变化过的数据
 rsync操作选项
– -n:测试同步过程,不做实际修改
– --delete:删除目标文件夹内多余的文档
– -a:归档模式,相当于-rlptgoD
– -v:显示详细操作信息
– -z:传输过程中启用压缩/解压

虚拟机A:
[root@svr7 ~]# mkdir /mydir
[root@svr7 ~]# mkdir /todir
[root@svr7 ~]# cp /etc/passwd /etc/fstab /mydir/
[root@svr7 ~]# ls /mydir/

[root@svr7 ~]# ls /todir/
[root@svr7 ~]# rsync -av /mydir/ /todir #同步目录内容
[root@svr7 ~]# ls /todir/

[root@svr7 ~]# touch /mydir/1.txt
[root@svr7 ~]# ls /mydir/
[root@svr7 ~]# rsync -av /mydir/ /todir #同步目录内容
[root@svr7 ~]# ls /todir/

[root@svr7 ~]# touch /todir/2.txt
[root@svr7 ~]# ls /mydir/
[root@svr7 ~]# ls /todir/

[root@svr7 ~]# rsync -av /mydir/ /todir/
[root@svr7 ~]# ls /todir/

[root@svr7 ~]# rsync -av --delete /mydir/ /todir/
[root@svr7 ~]# ls /todir/

三、 远程同步数据

 与远程的 SSH目录保持同步
下行:rsync […] user@host:远程目录 本地目录
上行:rsync […] 本地目录 user@host:远程目录

虚拟机A的/mydir内容,同步到虚拟机B的/opt目录下

虚拟机A:
]# rsync -av --delete /mydir/ root@192.168.4.207:/opt

虚拟机B:
]# ls /opt

四、 实时同步数据

 生成公钥与私钥,实现ssh无密码,进行同步数据
虚拟机A:
1.生成公钥与私钥
[root@svr7 ~]# ssh-keygen #一路回车
[root@svr7 ~]# ls /root/.ssh/ #默认存放公钥与私钥路径
id_rsa(私钥) id_rsa.pub(公钥)
known_hosts(记录曾经远程管理过的机器)
2.传递公钥到虚拟机B
]# ssh-copy-id root@192.168.4.207
]# rsync -av --delete /mydir/ root@192.168.4.207:/opt

 部署监控工具,监控目录内容的变化

[root@svr7 ~]# ls /root
initial-setup-ks.cfg tools.tar.gz 模板 图片 下载 桌面

[root@svr7 ~]# tar -xf /root/tools.tar.gz -C /
[root@svr7 ~]# ls /tools/
inotify-tools-3.13.tar.gz(源码包) other

• 步骤1:安装开发工具
]# yum -y install gcc
• 步骤2:tar解包,释放源代码至指定目录
]# ls /tools/
]# tar -xf /tools/inotify-tools-3.13.tar.gz -C /usr/local/
]# ls /usr/local/
• 步骤3:./configure 配置,指定安装目录/功能模块等选项
]# cd /usr/local/inotify-tools-3.13/
]# ./configure --prefix=/opt/myrpm #指定安装位置
• 步骤4:make 编译,生成可执行的二进制程序文件
]# cd /usr/local/inotify-tools-3.13/
]# make
• 步骤5:make install 安装,将编译好的文件复制到安装目录
]# cd /usr/local/inotify-tools-3.13/
]# make install
]# ls /opt/
]# ls /opt/myrpm/
]# ls /opt/myrpm/bin/

• 基本用法
– inotifywait [选项] 目标文件夹
• 常用命令选项
– -m,持续监控(捕获一个事件后不退出)
– -r,递归监控、包括子目录及文件
– -q,减少屏幕输出信息
– -e,指定监视的 modify、move、create、delete、attrib 等事件类别

]# /opt/myrpm/bin/inotifywait -rq /mydir/
]# rsync -av --delete /mydir/ root@192.168.4.207:/opt

 书写同步的脚本(了解)
脚本:一个可以执行文件,可以实现某种功能
Shell脚本:利用shell语言写的脚本程序
循环:解决重复性的事情
while循环:适合无限次数的重复性的事情

while格式:
while 条件
do
重复性的事情
done
[root@svr7 /]# vim /etc/rsync.sh
while /opt/myrpm/bin/inotifywait -rqq /mydir/
do
rsync -a --delete /mydir/ root@192.168.4.207:/opt
done
[root@svr7 /]# chmod a+x /etc/rsync.sh
[root@svr7 /]# /etc/rsync.sh & #放入后台运行
[root@svr7 /]# jobs -l
[1]+ 8762 运行中 /etc/rsync.sh &
[root@svr7 /]# kill 8762 #停止脚本

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐