标签:软件 输出 create 复制 过程 分离 ip地址 必须 mkdir
rsync 同步服务复制: 源所有数据
同步: 只传输变化数据
? 命令用法
– rsync [选项...] 源目录 目标目录
? 本地同步
– rsync [选项...] 本地目录1 本地目录2
– rsync [选项...] 本地目录1/ 本地目录2
[root@svr7 ~]# mkdir /todir
[root@svr7 ~]# rsync -a /boot /todir //同步整个文件夹
[root@svr7 ~]# rsync -a /boot/ /todir/ //只同步目录下的数据
? rsync操作选项
– -n:测试同步过程,不做实际修改
– --delete:删除目标文件夹内多余的文档
– -a:归档模式,相当于-rlptgoD
– -v:显示详细操作信息
– -z:传输过程中启用压缩/解压
##########################################
[root@svr7 /]# rm -rf /opt/
[root@svr7 /]# rm -rf /mnt/
[root@svr7 /]# cp /etc/passwd /opt
[root@svr7 /]# touch /opt/1.txt
[root@svr7 /]# ls /opt/
[root@svr7 /]# ls /mnt/
[root@svr7 /]# rsync -avz /opt/ /mnt
[root@svr7 /]# ls /opt/
[root@svr7 /]# ls /mnt/
[root@svr7 /]# touch /opt/2.txt
[root@svr7 /]# rsync -avz /opt/ /mnt
[root@svr7 /]# ls /opt/
[root@svr7 /]# ls /mnt/
######################################################
--delete : 删除目标路径比源目录多余的文档
[root@svr7 /]# rsync -avz --delete /opt/ /mnt
[root@svr7 /]# ls /opt/ /mnt
[root@svr7 /]# touch /mnt/nsd.txt
[root@svr7 /]# ls /opt/ /mnt
[root@svr7 /]# rsync -avz --delete /opt/ /mnt
[root@svr7 /]# ls /opt/ /mnt
#####################################################
远程同步 rsync+ssh
? 服务端要求
– 开启sshd服务,并提供授权的用户、密码
命令格式:
rsync 选项 /路径/目录/ 用户名@对方IP地址:/路径/对方目录
rsync 选项 用户名@对方IP地址:/路径/对方目录/ /路径/目录/
虚拟机A:
虚拟机B:
######################################################
实时的远程同步
虚拟机A:
虚拟机B:
一 公钥 私钥 实现的虚拟机A与虚拟机B 验证同步 无需密码
1.虚拟机A生成公钥 私钥
[root@svr7 /]# ssh-keygen #一路回车
[root@svr7 /]# ls /root/.ssh/
[root@svr7 /]# ssh-copy-id root@192.168.4.207 #拷贝公钥
[root@svr7 /]# ssh root@192.168.4.207
[root@pc207 ~]# exit #退出到B
二 安装一个软件,实时监控一个目录内容,有变化会报告
步骤1:将该inotify-tools-3.13.tar.gz上传 虚拟机A
真机上操作:
步骤2:安装gcc和make开发工具
[root@svr7 /]# yum -y install gcc make
步骤3:tar解包,释放源代码至指定目录
步骤4: ./configure 配置,指定安装目录/功能模块等选项
# ./configure
步骤5:make 编译,生成可执行的二进制程序文件
步骤6:make install 安装,将编译好的文件复制到安装目录
# which inotifywait
# ls /usr/local/bin/inotifywait
#############################################
inotifywait监控
? 基本用法
– inotifywait [选项] 目标文件夹
? 常用命令选项
– -m,持续监控(捕获一个事件后不退出)
– -r,递归监控、包括子目录及文件
– -q,减少屏幕输出信息
– -e,指定监视的 modify、move、create、delete、attrib事件类别
inotifywait------> while
rsync -avz --delete /opt/ root@192.168.4.207:/mnt/
最容易形成死循环
while [条件判断]
do
循环执行语句
done
[root@svr7 /]# vim /root/1.sh
#!/bin/bash
i=0
while [ $i -le 10 ]
do
i=expr $i + 1
echo $i
done
[root@svr7 /]# chmod +x /root/1.sh
[root@svr7 /]# /root/1.sh
#################################################
三 书写实时同步的脚本
[root@svr7 /]# vim /root/rsync.sh
#!/bin/bash
dir=/opt/
while inotifywait -rqq $dir
do
rsync -az --delete $dir root@192.168.4.207:/mnt/
done
[root@svr7 /]# chmod +x /root/rsync.sh
[root@svr7 /]# /root/rsync.sh
######################################################
DNS的分离解析(视图解析)
? 当收到客户机的DNS查询请求的时候
– 能够区分客户机的来源地址
– 为不同类别的客户机提供不同的解析结果(IP地址)
不同的客户端区解析同一个域名,解析结果不同
前提: 客户端的分类要合理 , 所有的客户端都要找到自己的分类
一旦使用view功能,所有的zone都必须在view中
view "haha" {
match-clients { 192.168.4.7; }
zone "12306.cn" {
......12306.cn.zone;
}; };
view "xixi" {
match-clients { any; }
zone "12306.cn" {
...... 12306.cn.abc
}; };
客户端192.168.4.207---->www.tedu.cn----->1.1.1.1
客户端非192.168.4.207---->www.tedu.cn----->2.2.2.2
options {
directory "/var/named";
};
view "haha" {
match-clients { 192.168.4.207; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.haha";
};
};
view "xixi" {
match-clients { any; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.xixi";
};
};
– 根据view调用的顺序,“匹配即停止”
标签:软件 输出 create 复制 过程 分离 ip地址 必须 mkdir
原文地址:http://blog.51cto.com/13590322/2068225