rsync同步操作 、 inotify实时同步

一、 进行环境的设置

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 #停止脚本

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值