#!/bin/bash #Name:ks_ssh.sh #Author: www.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 root@${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