Copia um executável para um número arbitrário de hosts?

1

Como posso copiar um arquivo executável para um número arbitrário de hosts e executá-lo em todos eles? Enviando este .exe para 20 hosts.

Tentando que os arquivos entrem no diretório / tmp. Configurando um laboratório e tentando praticar implantações.

Alguma idéia?

    
por BlackDynamite 18.07.2017 / 00:57

1 resposta

1

Aqui está um script que eu uso para distribuir meus arquivos de configuração do shell; é facilmente adaptado.

#!/bin/sh
# copy selected files to other machines

FILES=".cshrc .login .profile"
HOSTS="kipling khan nag smith wolf"

h=${HOSTS}
if [ $1x != x ] ; then
   h=$1
fi

for i in $h ; do
    echo ${i}:
    for f in ${FILES}; do
        (cd ~; scp ${f} ${i}:.)
    done  
done

Você pode obviamente alterar a origem e o destino precisos, conforme necessário. Observe que, se for dado um argumento, o (s) arquivo (s) será (ão) enviado (s) para aquele host especificado. Use:

FILES=$(cat file-containing-list-of-files)

se você quiser ter essa lista em um arquivo e dissociá-la do script. O mesmo poderia se aplicar à lista de hosts.

Hoje em dia, eu provavelmente usaria rsync em vez de scp , pois isso preservaria o modo de arquivo, etc.

    
por 18.07.2017 / 02:04