Como faço para wget um arquivo de qualquer máquina na rede?

4

Eu tenho mais de 100 sistemas executando o Ubuntu. Eu tenho um arquivo de configuração em um desses sistemas, digamos 172. . .10. Posso obter esse arquivo de configuração do outro sytem dizer 172. . .100 usando wget? Eu instalei o wget? E eu tentei o seguinte wget http://172.*.*.10/name.conf , mas eu não sou capaz de obter esse arquivo.Pode ajudar alguém?

    
por karthick87 10.04.2011 / 17:18

6 respostas

1

Você precisará fazer duas coisas:

  1. Instale o Apache nas suas instalações do Ubuntu. O comando a usar é sudo apt-get install apache2 .
  2. Copie ou mova seu file.conf para a pasta em /var/www . Pode ser necessário usar sudo novamente: por exemplo, sudo cp /path/to/your/file.conf /var/www/file.conf .

wget provavelmente não funcionará com curingas. Uma solução melhor será fazer algo assim como um script de shell, uma vez que todos os seus arquivos de configuração estejam acessíveis:

#!/bin/bash

for i in {1..100}

do

wget "127.0.$i.1"

done

Boa sorte!

    
por Jonathan Rothwell 10.04.2011 / 17:31
7

scp ou rsync provavelmente são mais adequados para pegar um único arquivo arbitrário de várias máquinas.

Se, no entanto, esse arquivo único for senhas, configurações de montagem remota ou funções similares de administração do sistema, você deverá usar o Network Information System (NIS), projetado especificamente para gerenciamento centralizado para fazer com que todas as 100 máquinas pareçam a mesma máquina. para alguém sentado na frente de um.

    
por msw 10.04.2011 / 19:12
4

As soluções aqui ajudarão você, mas o "ssh em um loop for" para muitos computadores acabará custando seu tempo a longo prazo. Você deve considerar uma ferramenta de gerenciamento de configuração como o fantoche:

Dessa forma, você define como deseja que os PCs sejam e eles são configurados automaticamente. Para obter informações sobre todos os seus nós, consulte mcollective .

    
por Jorge Castro 10.04.2011 / 19:26
3

O wget só poderá fazer o download de qualquer coisa se houver um servidor HTTP em execução no outro lado.

Como você pode executar comandos via ssh em massa, isso pode ajudar:

# on the client machine:
cd /home/username/Pictures/
python -m SimpleHTTPServer

Isso inicia um servidor da web na máquina em que ele é executado. Você pode acessar o arquivo de qualquer lugar usando

wget http://172.29.34.15:8000/vacation.jpeg
    
por Stefano Palazzo 10.04.2011 / 17:22
1

Para este tipo de propósitos, você pode querer olhar para sistemas de controle de versão, a partir dos quais você pode "ramificar" ou "verificar" seus arquivos. Pode ficar meio confuso. Para ferramentas, talvez veja em o gerenciador de configurações ou algo assim. Eu costumava fazer isso com o CVS + Faça de volta no dia, era meio perverso eu admin! : D

    
por Mace Ojala 10.04.2011 / 18:50
0

Eu recomendo usar o Ubuntu One para sincronizar esses arquivos.

Há também um guia: link

Mas não é possível baixar este arquivo com o wget, porque o wget usa o protocolo http para baixar arquivos. Se você não tiver o apache em execução nos seus servidores, não será possível. Mas NÃO instale o apache apenas para sincronizar alguns arquivos!

Espero que isso tenha ajudado você Daniel

    
por omnidan 10.04.2011 / 17:49