zoukankan      html  css  js  c++  java
  • linux下xsync和xcall脚本及使用xcall jps遇到的一些小问题

    xsync:

    #!/bin/sh
    # 获取输入参数个数,如果没有参数,直接退出
    pcount=$#
    if((pcount==0)); then
            echo no args...;
            exit;
    fi
    
    # 获取文件名称
    p1=$1
    fname=`basename $p1`
    echo fname=$fname
    # 获取上级目录到绝对路径
    pdir=`cd -P $(dirname $p1); pwd`
    echo pdir=$pdir
    # 获取当前用户名称
    user=`whoami`
    # 循环
    for((host=1; host<=2; host++)); do
            echo $pdir/$fname $user@slave$host:$pdir
            echo ==================slave$host==================
            rsync -rvl $pdir/$fname $user@slave$host:$pdir
    done
    #Note:这里的slave对应自己主机名,需要做相应修改。另外,for循环中的host的边界值由自己的主机编号决定。

    xcall:

    #!/bin/bash
    pcount=$#
    if((pcount==0));then
            echo no args;
            exit;
    fi
    
    echo -------------localhost----------
    $@
    for((host=1; host<=2; host++)); do
            echo ----------slave$host---------
            ssh slave$host $@
    done
    #Note:这里的slave对应自己主机名,需要做相应修改。另外,for循环中的host的边界值由自己的主机编号决定。

    脚本想要直接使用就必须放在 /usr/local/bin目录下

    两个脚本都需要使用chmod 777 文件名 来修改权限

    使用xcall jps命令时可能会出现下面这种情况:

    前提:本机可以正常运行jps命令

     这个问题是因为在脚本目录下需要放置jps的软链接,命令如下:

     ln -s /opt/module/jdk1.8.0_261/bin/jps jps

    这里的jps路径要换成自己的,一般在自己jdk安装目录下的bin文件夹里

    此时再使用xsync jps命令将软链接分发到子结点上,接着就可以运行xcall jps

     问题完美解决!

    --------------------------------------------------------------------------------------分割线----------------------------------------------------------------------------------------------

    解决坏的解释器问题,命令:

    sed -i 's/ $//' 文件名

  • 相关阅读:
    Jenkins中构建Testcomplete项目的方法介绍
    抖音批量,批量运营抖音_不要迷恋我_【单月抖音变现7000万】教程
    java 读取 excel 表格内容
    .NET Core 2.1中的分层编译(预览)
    Windows10上使用Linux子系统(WSL)
    swagger上传文件并支持jwt认证
    .NET微服务 容器化.NET应用架构指南(支持.NET Core2)
    用C#编写Linux守护进程
    安装mysql后运行.net程序出错
    2018 你好
  • 原文地址:https://www.cnblogs.com/dd110343/p/14295031.html
Copyright © 2011-2022 走看看