阿汤博客-承接中小企业服务器维护和网站维护,有意者可以联系博主!

Saltstack根据主机名称自动获取IP远程Shell脚本

运维维护 93℃ 0评论

#!/bin/bash

#Name:ks_ssh.sh

#Author:amd5.cn

#Datetime:2017-05-08

#Usage:bash ks-ssh.sh salt-Minion-Hostname

#ln -s到/usr/local/bin目录下面,chown +x 权限,就可以以Linux命令方式执行

#定义颜色

RED='\033[31m'

BLUE='\033[36m'

END='\033[0m'

#获取客户端IP,远程链接

ks_ssh(){

    IP=`salt "${1}" network.ip_addrs | grep  -o "10\.[0-9\.]\+"` #根据自己的实际情况更改

    for i in $IP;do

        if ping -c 1 -W 1 $i &> /dev/null;then

        ssh [email protected]${IP} -p 8222    #根据自己的实际情况更改

        fi

    done

}

#判断主机名是否正确

salt_test(){

    name=`echo ${1} | tr 'a-z' 'A-Z'`

    salt "${name}" test.ping >/dev/null 2>&1

    if [[ $? -eq 2  ]] ;then

        echo -e "${RED}主机名称不正确or主机未安装Salt-Minion:${END}"${BLUE}${name}${END}

        return 3

    else

        salt "${name}"  test.ping | grep "Minion did not return" >/dev/null 2>&1

        if [[ $? -eq 1  ]];then

            ks_ssh $name

        else

            echo -e "${RED}主机未开机or服务未启动:${END}"${BLUE}${name}${END}

            return 4

        fi

    fi

}

if [ $1 ];then

    salt_test $1

else

    echo -e "${BLUE}用法: `basename $0` Minion-Hostname${END}"

fi

转载请注明:阿汤博客 » Saltstack根据主机名称自动获取IP远程Shell脚本

喜欢 (0)or分享 (0)