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
3. 在虚拟机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的路径中
########################################################
案例: