linux系统服务管理16-17

案例16:rsync基本用法

1)将目录 /boot 同步到目录 /todir 下
2)将目录 /boot 下的文档同步到目录 /todir 下
3)在目录 /boot 下新增文件 a.txt,删除 /todir 下的子目录 grub2,再次同步使 /todir 与 /boot 一致

1.将目录 /boot 同步到目录 /todir 下

[root@svr7 ~]# ls -l /todir //同步前
ls: 无法访问/todir: 没有那个文件或目录
[root@svr7 ~]# rsync -a /boot /todir //将目录1作为目录2的子目录
[root@svr7 ~]# ls -l /todir //检查同步结果
总用量 4
dr-xr-xr-x. 4 root root 4096 11月 30 18:50 boot

2.将目录 /boot 下的文档同步到目录 /todir 下

[root@svr7 ~]# rm -rf /todir //清理掉目录2
[root@svr7 ~]# rsync -a /boot/ /todir //将目录1下的文档同步到目录2下
[root@svr7 ~]# ls -l /todir //检查同步结果
总用量 126708
-rw-r–r–. 1 root root 126426 10月 30 2015 config-3.10.0-327.el7.x86_64
drwxr-xr-x. 2 root root 4096 11月 30 18:50 extlinux
drwx------. 6 root root 104 12月 9 09:58 grub2
… …

3.同步效果测试

在目录/boot下新增文件a.txt,删除/todir下的子目录 grub2:
[root@svr7 ~]# touch /boot/a.txt
[root@svr7 ~]# rm -rf /todir/grub2/
现在目录/boot和/todir目录下的内容已经不一致了:
[root@svr7 ~]# ls -ld /boot/a.txt /todir/a.txt
ls: 无法访问/todir/a.txt: 没有那个文件或目录
-rw-r–r–. 1 root root 0 1月 11 21:09 /boot/a.txt
[root@svr7 ~]# ls -ld /boot/grub2 /todir/grub2
ls: 无法访问/todir/grub2: 没有那个文件或目录
drwx------. 6 root root 104 12月 9 09:58 /boot/grub2
再次同步使/todir与/boot一致:
[root@svr7 ~]# rsync -a /boot/ /todir/
确认同步结果:
[root@svr7 ~]# ls -ld /boot/a.txt /todir/a.txt
-rw-r–r–. 1 root root 0 1月 11 21:09 /boot/a.txt
-rw-r–r–. 1 root root 0 1月 11 21:09 /todir/a.txt
[root@svr7 ~]# ls -ld /boot/grub2 /todir/grub2
drwx------. 6 root root 104 12月 9 09:58 /boot/grub2
drwx------. 6 root root 104 12月 9 09:58 /todir/grub2

案例17:rsync+SSH实时同步

1)实现本机/opt目录与远程主机/opt目录,使用inotifywait工具进行实时同步
实时同步

一、部署公钥 私钥,实现远程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 /]#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值