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/ $//' 文件名

  • 相关阅读:
    Homebrew 更改国内阿里源
    Java数组以及内存分配
    Django-Scrapy生成后端json接口
    MySQL必知必会(1-12章)
    招聘网站爬虫模板
    ubuntu之jupyter notebook配置
    服务器基本配置(ubuntu)
    Typora+PicGo+码云Gitee搭建本地博客环境
    redis缓存雪崩,穿透,击穿。整理篇
    鼠标修复升级记录(下)
  • 原文地址:https://www.cnblogs.com/dd110343/p/14295031.html
Copyright © 2011-2022 走看看