zoukankan      html  css  js  c++  java
  • 集群分发脚本xsync

    编写集群分发脚本xsync

    1)scp 安全拷贝

    1)定义:

    scp可以实现服务器与服务器之间的数据拷贝

    2)特点

    scp会把整个文件对象赋值到目标服务器上

    3)基本语法

    scp    -r          $pdir/$fname              $user@$host:$pdir/$fname
    命令   递归       要拷贝的文件路径/名称    目的用户@主机:目的路径/名称
    例如
    scp -r /opt/module/hadoop/*   atguigu@hadoop102:/opt/module
    

    2)rsync(推荐使用)

    注:想使用rsync命令,必须提前安装

    安装语法

    yum install rsync
    

    1)特点

    只会对差异文件进行更新,而scp是把所有文件都复制过去

    2)基本语法

    rsync    -av       $pdir/$fname              $user@hadoop$host:$pdir/$fname
    命令   选项参数   要拷贝的文件路径/名称    目的用户@主机:目的路径/名称
    例如
    rsync -av /opt/software/* atguigu@hadoop103:/opt/software(这里要写父目录的路径)
    

    选项参数说明

    选项 功能
    -a 归档拷贝(类似于递归)
    -v 显示复制过程

    编写集群分发脚本(重点)

    1)需求:需要将当前文件或目录同步到当前集群所有节点

    2)思路

    使用原始命令需要发送N次,可以使用shell脚本,把原始命令放在循环内,可以重复使用

    采用rsync实现,因为rsync只会发送有差异的数据

    3)实现脚本

    #!/bin/bash
    #1. 判断参数个数
    if [ $# -lt 1 ]
    then
      echo Not Enough Arguement!
      exit;
    fi
    #2. 遍历集群所有机器
    for host in hadoop102 hadoop103 hadoop104
    do
      echo ====================  $host  ====================
      #3. 遍历所有目录,挨个发送
      for file in $@
      do
        #4. 判断文件是否存在
        if [ -e $file ]
        then
          #5. 获取父目录
          pdir=$(cd -P $(dirname $file); pwd)
          #6. 获取当前文件的名称
          fname=$(basename $file)
          ssh $host "mkdir -p $pdir"
          rsync -av $pdir/$fname $host:$pdir
        else
          echo $file does not exists!
        fi
      done
    done
    

    1)修改脚本xsync具有执行权限

    [atguigu@hadoop102 bin]$ chmod +x xsync
    

    2)将脚本复制到/bin中,以便全局调用

    如果当前用户没有bin目录,可以手动创建

    [atguigu@hadoop102 bin]$ sudo cp xsync /bin/
    

    脚本编写完成,可以测试了

  • 相关阅读:
    Segmentation fault (core dumped)
    Missing separate debuginfos, use: debuginfo-install
    Qt学习资源
    Qt学习过程中遇到的问题
    深入浅出MFC--第一章
    MVC – 3.EF(Entity Framework)
    MVC基础知识 – 2.新语法
    js获取url参数值(HTML之间传值)
    解决IIS7、IIS7.5中时间格式显示的问题
    web.config详解 -- asp.net夜话之十一
  • 原文地址:https://www.cnblogs.com/traveller-hzq/p/14043037.html
Copyright © 2011-2022 走看看