Saltstack根據(jù)主機(jī)名稱自動獲取IP遠(yuǎn)程Shell腳本

2018年7月18日11:42:10 發(fā)表評論 5,008 ℃
#!/bin/bash
#Name:ks_ssh.sh
#Author: www.zhongjima.net
#Datetime:2017-05-08
#Usage:bash ks-ssh.sh salt-Minion-Hostname
#ln -s到/usr/local/bin目錄下面,chown +x 權(quán)限,就可以以Linux命令方式執(zhí)行
#定義顏色
RED='\033[31m'
BLUE='\033[36m'
END='\033[0m'
#獲取客戶端IP,遠(yuǎn)程鏈接
ks_ssh(){
    IP=`salt "${1}" network.ip_addrs | grep  -o "10\.[0-9\.]\+"` #根據(jù)自己的實際情況更改
    for i in $IP;do
        if ping -c 1 -W 1 $i &> /dev/null;then
        ssh root@${IP} -p 8222    #根據(jù)自己的實際情況更改
        fi
    done
}
#判斷主機(jī)名是否正確
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}主機(jī)名稱不正確or主機(jī)未安裝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}主機(jī)未開機(jī)or服務(wù)未啟動:${END}"${BLUE}${name}${END}
            return 4
        fi
    fi
}
if [ $1 ];then
    salt_test $1
else
    echo -e "${BLUE}用法: `basename $0` Minion-Hostname${END}"
fi
【騰訊云】云服務(wù)器、云數(shù)據(jù)庫、COS、CDN、短信等云產(chǎn)品特惠熱賣中

發(fā)表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: