zoukankan      html  css  js  c++  java
  • linux中编写同步文件的脚本

    搭集群最麻烦的就是修改配置文件,如果只用修改一个机器上的配置文件,然后用一个脚本就可以把配置文件同步到其他机器上,岂不快哉!

    编写一个名为xsync的脚本文件:

    作用: 将当前机器的文件,同步到集群所有机器的相同路径下!
    hadoop102:/A/a , 执行脚本后,将此文件同步到集群中所有机器的 /A/a

    用户在使用xsync时,只需要传入要同步的文件即可
    xysnc a
    不管a是一个相对路径还是绝对路径,都需要将a转换为绝对路径

    文件的绝对路径=父路径+文件名
    父路径: dirpath=$(cd dirname /home/atguigu/hi; pwd -P)
    文件名: filename=basename hi

    			pwd的 -P参数是为了避免出现软链接导致的路径问题,-P可以使软链接显示出真实的链接
    

    核心命令:

    	for(())
    		do
    			rsync -rvlt   path1 
    		done
    

    正式文件:

    #!/bin/bash
    #校验参数是否合法
    if(($#==0))
    then
    	echo 请输入要分发的文件!
    	exit;
    fi
    #获取分发文件的绝对路径
    dirpath=$(cd `dirname $1`; pwd -P)
    filename=`basename $1`
    
    echo 要分发的文件的路径是:$dirpath/$filename
    
    #循环执行rsync分发文件到集群的每条机器
    for((i=101;i<=103;i++))
    do
    	echo ---------------------hadoop$i---------------------
    	rsync -rvlt $dirpath/$filename  username@hostname$i:$dirpath
    done
    
    

    最后别忘了把xcall文件放进家目录下的bin目录,如果没有就新建一个bin目录,因为这目录是在全局环境变量中,放进去后无论在哪个目录下都可以执行这个脚本文件!

  • 相关阅读:
    机器学习之--画图补充
    机器学习之--KNN算法简单实现
    redhat centos yum源的安装
    redhat6.5 linux 安装mysql5.6.27
    bash 截取字符串
    redhat vim编辑器永久添加行号及搜索
    Orthomcl的详细使用
    InterProScan 5.25-64.0 安装和使用
    paml正选择处理时序列里有终止密码子怎么处理掉
    R语言putty中直接使用X11(Xming)绘图
  • 原文地址:https://www.cnblogs.com/sunbr/p/13255312.html
Copyright © 2011-2022 走看看