Chef

Knife ssh 節點名萬用字元匹配

  • February 11, 2016

我有一個廚師環境“開發”,我們正在將我們的持續集成建構環境從詹金斯切換到竹子。所以我們有一堆節點名稱“jenkins_slave_??” 和“bamboo_slave_??

我想在開發環境中的所有 jenkins_slave 系統上執行 yum update -y 。為了測試那把刀只擊中我想要的伺服器,以下將在開發環境中的所有主機上執行命令。

knife ssh '*:dev' 'hostname; cat /etc/redhat-release '  -a cloud.public_ipv4 -x ec2-user -i ~/.ssh/dev.pem

以下將在特定主機上執行我的命令。

knife ssh '*:jenkins_slave_01' 'hostname; cat /etc/redhat-release '  -a cloud.public_ipv4 -x ec2-user -i ~/.ssh/dev.pem

我無法得到

knife ssh '*:jenkins_slave_*' 'hostname; cat /etc/redhat-release '  -a cloud.public_ipv4 -x ec2-user -i ~/.ssh/dev.pem

或者

knife ssh 'jenkins_slave_*:*' 'hostname; cat /etc/redhat-release '  -a cloud.public_ipv4 -x ec2-user -i ~/.ssh/dev.pem

去工作。如何讓刀向具有相似節點名稱的所有主機發出 ssh 命令?

手臉植物對不起看到我的錯誤破折號不是下劃線

ssh '*:jenkins-slave*' 'hostname; cat /etc/redhat-release '  -a cloud.public_ipv4 -x ec2-user -i ~/.ssh/dev.pem

引用自:https://serverfault.com/questions/755651