Copiando arquivos de um servidor para um conjunto de máquinas

2
Primeiro de tudo eu não sou um profissional treinado em Networking nem sei muito sobre isso. Eu tenho algum conhecimento de GNU / Linux, scripts da Shell. Um dia eu queria copiar um grande arquivo zipado para um conjunto de computadores no meu laboratório e ter que fazer algumas outras tarefas lá. Eu uso DHCP para meus sistemas.

Procurando a melhor maneira de fazer isso.

Desculpe se esta questão não pertence aqui ou é totalmente sem sentido.

    
por user71866 30.08.2011 / 08:25

6 respostas

1

Existem várias formas de realizar uma cópia / transferência de arquivos entre sistemas, desde:

  • scp
  • smb
  • ftp (ou qualquer uma de suas variantes mais seguras)
  • nfs
  • link
  • etc, etc ....

Tudo se resume ao que está instalado nos sistemas e ao seu nível de conforto com as várias opções. Existem opções de "multicast", se as situações de uma para várias cópias surgirem com frequência suficiente para considerar essas tecnologias / soluções.

    
por 30.08.2011 / 08:37
1
O

Func é uma excelente ferramenta para copiar um arquivo para várias máquinas e também executar comandos em várias máquinas, desenvolvido pela RedHat e pela comunidade. . Excelente para gerenciar clusters de servidores etc. No entanto, não tenho certeza de que funciona perfeitamente com o DHCP, você precisa ter um certificado assinado para se comunicar com os clientes, mas está testando se ele atende às suas necessidades

    
por 30.08.2011 / 08:44
1

link

Configure um servidor da web em um host central e use o wget para fazer o download do arquivo.

    
por 30.08.2011 / 09:30
0

O tecido parece ser a sua solução:

link

    
por 30.08.2011 / 08:30
0

O método padrão no Unix costumava ser rdist e ainda está disponível na maioria dos repositórios hoje. No entanto, o problema de hoje é que usamos o SSH e não o RSH e, portanto, o gerenciamento de chaves e senhas pode ser mais inconveniente.

    
por 30.08.2011 / 08:40
0
  1. Crie uma lista de seus servidores de destino, por exemplo, list.txt :

    ip1 port1 username1 password1
    ip2 port2 username2 password2
    ...
    
  2. Instale sshpass no cliente.
  3. Crie um script de shell scp.sh como belows:

    #!/bin/bash
    
    while read line; do
        ip='echo $line | awk '{ print $1 }''
        port='echo $line | awk '{ print $2 }''
        user='echo $line | awk '{ print $3 }''
        password='echo $line | awk '{print $4 }''
    
        echo $password | sshpass scp -P $port /your/zipped/file $user@$ip:/path/to/somewhere/
    done < list.txt
    
  4. Torne-o executável e execute com:

    chmod +x scp.sh
    ./scp.sh
    

Se você precisar fazer as mesmas tarefas mais tarde, sugiro instalar a autenticação de chave pública ssh e fazer paralelo com pssh , algo assim:

cat list.txt
ip1:port1 username1
ip2:port2 username2
...

pscp -h list.txt /your/zipped/file /path/to/somewhere
    
por 30.08.2011 / 09:27