rsync同步操作

 同步 : 只传输变化的数据
 复制:完整的传输

• 命令用法 – rsync [选项...] 源目录 目标目录

• 同步与复制的差异 – 复制:完全拷贝源到目标 – 同步:增量拷贝,只传输变化过的数据

• 本地同步 – rsync [选项...] 本地目录1 本地目录2 //同步整个文件夹 – rsync [选项...] 本地目录1/ 本地目录2 //只同步目录下的数据

• rsync操作选项 – -n:测试同步过程,不做实际修改 – --delete:删除目标文件夹内多余的文档 – -a:归档模式,相当于-rlptgoD – -v:显示详细操作信息 – -z:传输过程中启用压缩/解压

[root@svr7 ~]# mkdir /dir1 [root@svr7 ~]# mkdir /nsd [root@svr7 ~]# cp -r /home/ /dir1 [root@svr7 ~]# cp /etc/passwd /dir1 [root@svr7 ~]# ls /dir1 [root@svr7 ~]# rsync -avz /dir1/ /nsd [root@svr7 ~]# ls /nsd

[root@svr7 ~]# touch /dir1/1.txt [root@svr7 ~]# ls /dir1/ [root@svr7 ~]# ls /nsd

[root@svr7 ~]# rsync -avz /dir1/ /nsd [root@svr7 ~]# ls /dir1/ [root@svr7 ~]# ls /nsd

[root@svr7 ~]# touch /dir1/2.txt [root@svr7 ~]# rsync -avz /dir1/ /nsd [root@svr7 ~]# ls /nsd

[root@svr7 ~]# ls /dir1/ [root@svr7 ~]# ls /nsd [root@svr7 ~]# touch /nsd/10.txt [root@svr7 ~]# rsync -avz --delete /dir1/ /nsd [root@svr7 ~]# ls /dir1/ [root@svr7 ~]# ls /nsd

##################################################### 远程同步 rsync+SSH同步

– 下行:rsync [...] user@host:远程目录 本地目录 – 上行:rsync [...] 本地目录 user@host:远程目录

虚拟机A: [root@svr7 ~]# rm -rf /opt/* [root@svr7 ~]# cp /etc/passwd /opt/ [root@svr7 ~]# cp /etc/fstab /opt/ [root@svr7 ~]# ls /opt/

rsync -avz --delete /opt/ root@192.168.4.207:/opt/

虚拟机B: [root@pc207 ~]# ls /opt/

################################################### 无密码的验证

公钥、私钥

  1. 在虚拟机Svr7生成公钥、私钥 [root@svr7 ~]# ssh-keygen #一路回车 [root@svr7 ~]# ls /root/.ssh #公钥、私钥生成位置

  2. 在虚拟机Svr7上,传递公钥到虚拟机pc207 [root@svr7 ~]# ssh-copy-id root@192.168.4.207

[root@pc207 ~]# ls /root/.ssh/ #公钥存放在对方的,位置及名称 authorized_keys

  1. 在虚拟机Svr7上,测试 [root@svr7 ~]# ssh root@192.168.4.207 #无需密码验证

######################################################## 实时同步 inotify-tools-3.13.tar.gz

真机上 :

scp /root/桌面/tools/inotify-tools-3.13.tar.gz root@192.168.4.7:/root

虚拟机Svr7: 步骤1:安装gcc与make编译工具 步骤2:tar解包,释放源代码至指定目录

mkdir /myrpm/

tar -xf /root/inotify-tools-3.13.tar.gz -C /myrpm/

ls /myrpm/

步骤3: ./configure 配置,指定安装目录/功能模块等选项

cd /myrpm/inotify-tools-3.13/

./configure

步骤4: make 编译,生成可执行的二进制程序文件 步骤5: make install 安装,将编译好的文件复制到安装目录

[root@svr7 /]# which inotifywait /usr/local/bin/inotifywait

########################################################

最容易写成死循环 while [条件] do 执行的语句 done

 A  /opt  --------》  B /opt

inotifywait -mrq /opt/

rsync -avz --delete /opt/ root@192.168.4.207:/opt/

实时同步的脚本 虚拟机Svr7: [root@svr7 /]# vim /root/rsync.sh #!/bin/bash while inotifywait -rqq /opt/ do rsync -az --delete /opt/ root@192.168.4.207:/opt/ done

[root@svr7 /]# /root/rsync.sh #运行脚本

####################################################

虚拟机Svr7 搭建基本的DNS 1.安装bind、bind-chroot 2.修改配置文件/etc/named.conf options { directory "/var/named"; }; zone "tedu.cn" IN { type master; file "tedu.cn.zone"; }; 3.建立相应的地址库文件/var/named/tedu.cn.zone tedu.cn. NS svr7.tedu.cn. svr7 A 192.168.4.7 www A 1.1.1.1

4.重起named服务,验证 nslookup www.tedu.cn 192.168.4.7 ########################################################

Split分离解析(视图解析)

什么是分离解析 • 当收到客户机的DNS查询请求的时候 – 能够区分客户机的来源地址 – 为不同类别的客户机提供不同的解析结果(IP地址) – 为客户端提供网络最近资源

view "haha" { match-clients { 192.168.1.0/24; } zone "12306.cn" IN { 12306.cn.zone; }; };

view "xixi" { match-clients { 192.168.2.0/24; } zone "12306.cn" IN { 12306.cn.other; }; };

view "hehe" { match-clients { any; } zone "12306.cn" IN { 12306.cn.any; }; };

########################################################## 分离解析 客户端:192.168.4.207------------>www.tedu.cn----》1.1.1.1 客户端:其他人------------->www.tedu.cn----》2.2.2.2

一旦使用view分离解析,所有的zone都必须在view中

1.修改配置文件/etc/named.conf options { directory "/var/named"; }; view haha { match-clients { 192.168.4.207; }; zone "tedu.cn" { type master; file "tedu.cn.haha"; }; }; view xixi { match-clients { any; }; zone "tedu.cn" { type master; file "tedu.cn.xixi"; }; }; 2.分别建立tedu.cn.haha与tedu.cn.xixi,写入不同的解析结果 3.重起named服务,验证 在svr7上测试解析 在pc207上测试解析

######################################################### PATH变量的作用:提供命令的搜寻路径

[root@svr7 /]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

提示 命令没有找到? 1.输入命令有误 2.该命令没有安装 3.该命令执行程序没有在PATH的路径中

########################################################