zoukankan      html  css  js  c++  java
  • Service6

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

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

  • 相关阅读:
    Linux下的内核测试工具——perf使用简介
    浅谈C++中指针和引用的区别
    成为Java顶尖程序员 ,看这11本书就够了
    spring注解详解
    Spring AOP详解和实现方式
    Spring IoC中各个注解的理解和使用
    NameNode配置HA后及其反过程Hive路径不正确的问题解决
    [maven] 常用插件解析
    Saiku3.15去除License与主界面
    saiku系列文章
  • 原文地址:https://www.cnblogs.com/baichuanhuihai/p/8034930.html
Copyright © 2011-2022 走看看