Montar uma matriz de Macs para desligar via ssh?


1

Eu quero desligar alguns dos meus Macs remotamente através de um script ssh. Eu tenho isso até agora:

#!/bin/bash

#Array of Mac hostnames separated by spaces
my_macs=(mac125 mac122 etc)

#Steps through each hostname and issues SSH command to that host

for n in my_macs
    do
       ssh pcpatch@$n 'sudo bash -s' < ./documents/ShutdownUPTIME.sh
done

exit 0

Quando eu corro isso, ele diz:

ssh: Could not resolve hostname my_macs: nodename nor servname provided, or not known

Alguma idéia de como resolver esse problema?


Como os nomes de host estão sendo resolvidos? Se for DNS, a sua máquina (aquela que executa o script) terá as configurações corretas do Domínio de Pesquisa? Se é Bonjour, então eu acho que você precisa de um '.local' após cada nome de host.
David Rouse

É o DNS, tanto quanto eu sei. E a máquina é um servidor Mac, então ela conhece a máquina com o nome Mac 125 (eu só a testo agora mesmo com um único Mac no array)
Gunter

Respostas:


1

Looping através dos elementos de uma matriz.

my_macs=( mac125 mac122 etc )

for n in "${my_macs[@]}"
do
    ssh pcpatch@"${n}" 'sudo bash -s' < ./documents/ShutdownUPTIME.sh
done

0

Ok, eu apenas esqueci o fato de que eu tinha my_macs ao invés de $my_macs

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.