web-dev-qa-db-fra.com

Comment puis-je wget un fichier à partir de n'importe quelle machine sur le réseau?

J'ai plus de 100 systèmes fonctionnant sous Ubuntu. J'ai un fichier de configuration dans l'un de ces systèmes disons 172 ... 10. Puis-je obtenir ce fichier de configuration de l’autre système, par exemple 172 ... 100 en utilisant wget? J'ai installé wget? Et j'ai essayé ce qui suit wget http://172.*.*.10/name.conf mais je ne parviens pas à obtenir ce fichier.Peut-on obtenir de l'aide?

4
karthick87

Vous devrez faire deux choses:

  1. Installez Apache sur vos installations Ubuntu. La commande à utiliser est Sudo apt-get install Apache2.
  2. Copiez ou déplacez votre file.conf dans le dossier situé dans /var/www. Vous devrez peut-être utiliser à nouveau Sudo: par exemple, Sudo cp /path/to/your/file.conf /var/www/file.conf.

wget ne fonctionnera probablement pas avec des caractères génériques. Une meilleure solution sera de faire quelque chose comme ceci en tant que script Shell, une fois que tous vos fichiers de configuration seront accessibles:

#!/bin/bash

for i in {1..100}

do

wget "127.0.$i.1"

done

Bonne chance!

2
Jonathan Rothwell

scp ou rsync sont probablement mieux adaptés à la saisie d'un seul fichier arbitraire à partir de plusieurs machines.

Toutefois, si ce fichier unique est constitué de mots de passe, de configurations de montage à distance ou de fonctions d'administration système similaires, vous devez utiliser le système NIS (Network Information System) spécialement conçu pour la gestion centralisée afin de donner à toutes les 100 machines l'apparence qu'elles sont identiques à une personne assise. devant un.

7
msw

Les solutions ici vous aideront, mais "ssh dans une boucle" pour autant d'ordinateurs finira par vous coûter du temps à long terme. Vous devriez envisager un outil de gestion de configuration comme marionnette:

De cette façon, vous définissez à quoi vous voulez que les PC ressemblent et ils sont configurés automatiquement. Pour obtenir des informations sur tous vos nœuds, consultez mcollective .

5
Jorge Castro

wget ne pourra rien télécharger si un serveur HTTP est en cours d'exécution à l'autre bout.

Comme vous pourrez peut-être exécuter des commandes en bloc via ssh, ceci pourrait vous aider:

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

Cela démarre un serveur Web sur la machine sur laquelle il est exécuté. Vous pouvez ensuite accéder au fichier de n'importe où en utilisant

wget http://172.29.34.15:8000/vacation.jpeg
4
Stefano Palazzo

À cette fin, vous voudrez peut-être examiner les systèmes de contrôle de version, à partir desquels vous pouvez "créer des branches" ou "extraire" vos fichiers. Cela pourrait être un peu déroutant cependant. Pour des outils, regardez peut-être config-manager ou un tel. J'avais l'habitude de le faire avec CVS ​​+ Make de retour dans la journée, c'était un peu pervers d'admin! :RÉ

1
Mace Ojala

Je recommande d'utiliser Ubuntu One pour synchroniser ces fichiers.

Il existe également un guide: https://help.ubuntu.com/10.10/internet/C/networking-shares.html

Mais il n'est pas possible de télécharger ce fichier avec wget, car wget utilise le protocole http pour télécharger des fichiers. Si Apache ne fonctionne pas sur vos serveurs, ce n'est pas possible. Cependant, n'installez PAS Apache uniquement pour synchroniser certains fichiers!

J'espère que cela vous a aidé, Daniel

0
omnidan