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的路径中

########################################################
案例:

Service6的更多相关文章

  1. SQL 笔记 By 华仔

    -------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...

  2. [WCF编程]9.性能与限流

    一.性能概述 WCF服务的性能取决于很多因素.出了CPU.RAM和网络性能等常见的因素外,实例上下文模式.并发模式.数据契约的设计或使用的绑定等与WCF有关的因素都起着重要的作用. 实例上下文模式用来 ...

  3. BPEL是个什么东东

    研究团队有个做智能服务组合的,其中用到叫BPEL的东西,因为全称是Business Process Execution Language,译成中文就是商业执行过程语言,这个东东的是整合SOA的一个执行 ...

  4. Java多线程之synchronized(五)

    上篇介绍了用synchronized修饰static方式来实现“Class 锁”,今天要介绍另一种实现方式,synchronized(class)代码块,写法不一样但是作用是一样的.下面我附上一段代码 ...

  5. 分享一下我研究SQLSERVER以来收集的笔记

    分享一下我研究SQLSERVER以来收集的笔记 前言 为什麽分享??因为像现在网上很多人攻城师那样,转行去卖水果,卖早餐,总有一日我也会离开这个行业的 由于本人不是在大公司上班工资很低,我希望有一天存 ...

  6. 转 Linux命令-文件管理命令

    http://jingyan.baidu.com/article/9113f81bc1c7a72b3214c7d3.html Linux命令-文件管理命令 浏览:4118 | 更新:2012-11-1 ...

  7. Windows服务的创建,安装,卸载

    我公司项目的产线系统要与WMS物流系统做借口对接,需要我创建一个windows服务的项目,里面含有7个服务 创建Windows服务: 1.如图:点击 windows->经典桌面->wind ...

  8. python3 消耗CPU的性能,使CPU满载(可以设置进程名称)

    需要安装库:setproctitle    1.1.10,设置进程名称,测试操作系统centos 7.0 # -*- coding: utf-8 -*- from multiprocessing im ...

  9. OpenDJ入门 | 5分钟快速入门Forgerock DS

    本教程为了让大家快速体验,故不做深入讲解,详细内容请留意后续进阶教程 介绍 OpenDJ是一个目录服务器,它实现了各种轻量级目录访问协议和相关标准,包括完全符合LDAPv3,但也支持目录服务标记语言( ...

随机推荐

  1. 【NOIP2019模拟2019.10.07】果实摘取 (约瑟夫环、Mobius反演、类欧、Stern-Brocot Tree)

    Description: 小 D 的家门口有一片果树林,果树上果实成熟了,小 D 想要摘下它们. 为了便于描述问题,我们假设小 D 的家在二维平面上的 (0, 0) 点,所有坐标范围的绝对值不超过 N ...

  2. DM9000驱动网卡编程

    DM9000数据发送编程: static int dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev) { unsigned l ...

  3. 【Flutter学习】可滚动组件之SingleChildScrollView

    一,概述 SingleChildScrollView类似于Android中的ScrollView,它只能接收一个子Widget.定义如下: 二,构造函数 const SingleChildScroll ...

  4. [NOIP模拟测试34]反思+题解

    不要陷入思维定势,如果长时间没有突破就要考虑更改大方向. 不要把简单问题复杂化. 做完的题就先放下,不管能拿多少分.不能过一段时间就回来调一下. $Solutions:$ A.次芝麻 因为$n+m$始 ...

  5. echarts绘制饼图时的一点特殊设置

    最后的效果如图,需要在中间展示的部分换行然后字体大小不同. 以下为option的设置,使用rich里面的参数来设置更多的文本样式,使用‘\n’来控制换行 let option = { color: c ...

  6. CentOS 7 & php7.2安装 php-redis 扩展

    CentOS 7 & php7.2安装 php-redis 扩展 1.下载phpredis-developcd /tmpwget https://codeload.github.com/php ...

  7. Android 测试点归纳总结

    前言 除了测试平台工具,业务测试的总结和思考同样重要,这里总结了一些Android测试知识点,可以辅助业务测试快速形成测试用例和检查点,当作抛砖引玉分享给大家.如有思考不全面的地方,欢迎大家指出来. ...

  8. .NET Core开源组件:后台任务利器之Hangfire 转载 https://www.cnblogs.com/chenug/p/6655636.html

    .NET Core开源组件:后台任务利器之Hangfire   一.简述 Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的D ...

  9. MySQL的安装配置(无坑

    简单记录一下自己掉坑无数之后,终于找到的一个不坑的方法. 一.安装 #进入一个习惯的文件夹 cd /usr/local/src #下载资源包 wget -i -c http://dev.mysql.c ...

  10. Gym 102021D : Down the Pyramid(思维)

    Do you like number pyramids? Given a number sequence that represents the base, you are usually suppo ...