FTP vers plusieurs machine
Bonjour,
Je souhaiterais à patir d'un PC récupérer un répertoire de sauvegarde de plusieurs machines ( un aprés l'autre )
sachant que sur chaque machine le répertoire porte le même nom
deplus sur chaque machine il faut entrer un login et un password
Quelqu'un pourrait-il me donner un coup de main
Merci
Stéphane
Je souhaiterais à patir d'un PC récupérer un répertoire de sauvegarde de plusieurs machines ( un aprés l'autre )
sachant que sur chaque machine le répertoire porte le même nom
deplus sur chaque machine il faut entrer un login et un password
Quelqu'un pourrait-il me donner un coup de main
Merci
Stéphane
A voir également:
- FTP vers plusieurs machine
- Machine virtuelle windows - Guide
- Carte bancaire machine à laver ✓ - Forum Matériel & Système
- Carte bancaire dans machine à laver ✓ - Forum Matériel & Système
- Time machine - Guide
- Windows 7 vers windows 10 - Accueil - Mise à jour
5 réponses
Bonjour mamiemando
Tu as totalement identifié ce dont j'ai besoin
étant une bille en informatique, aurais tu la stucture en unix ?
Merci encore pour ton aide
Tu as totalement identifié ce dont j'ai besoin
étant une bille en informatique, aurais tu la stucture en unix ?
Merci encore pour ton aide
Il faut que tu lises un fichier qui indique à chaque ligne une IP sur laquelle se connecter en ftp.
Ouvrir un fichier de log en écriture
Je ne peux pas te donner plus que la structure du code car en ce qui me concerne je suis sous linux et je l'écrirais en shell ou en python. Dans ton cas c'est peut être faisable en "batch" (les commandes msdos windows) mais je ne connais pas assez pour te guider. Sinon tu peux essayer avec un langage genre python. Exemple :
http://www.commentcamarche.net/forum/affich 73041 python ftp programme
Dans ton cas il faudra adapter cette exemple car c'est un PC qui collecte les sauvegardes auprès des différents poste (ce qui est mieux d'un point de vue maintenance que le contraire si lesdits poste ne coupent pas ftp, chose que tu pourras aisément vérifier via ton fichier de log). Je t'invite à lire quelques tutoriels en python, tu verras c'est assez simple et je pense que c'est bien adapté pour résoudre ton problème.
Bonne chance
Ouvrir un fichier de log en écriture
Pour chaque IP Si la connexion échoue Noter que IP n'est pas joignable dans le fichier de log continue Fin si Cherche le répertoire à sauvegarder sur la machine distante Si ce répertoire n'existe pas Noter que IP ne possède pas de répertoire à sauver dans le fichier de log continue Fin si Créer un répertoire portant la date actuelle Créer dedans un sous répertoire portant pour nom l'IP de la machine Télécharger les fichiers à sauver dedans Fin si Fermer le fichier de log
Je ne peux pas te donner plus que la structure du code car en ce qui me concerne je suis sous linux et je l'écrirais en shell ou en python. Dans ton cas c'est peut être faisable en "batch" (les commandes msdos windows) mais je ne connais pas assez pour te guider. Sinon tu peux essayer avec un langage genre python. Exemple :
http://www.commentcamarche.net/forum/affich 73041 python ftp programme
Dans ton cas il faudra adapter cette exemple car c'est un PC qui collecte les sauvegardes auprès des différents poste (ce qui est mieux d'un point de vue maintenance que le contraire si lesdits poste ne coupent pas ftp, chose que tu pourras aisément vérifier via ton fichier de log). Je t'invite à lire quelques tutoriels en python, tu verras c'est assez simple et je pense que c'est bien adapté pour résoudre ton problème.
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors plutôt que de faire du ftp le top du top ce serait de faire du ssh et ce sera plus facile à coder et sécurisé.
Installe un serveur ssh (par exempl openssh-server) sur chaque poste client. Dans ton cas on remplace donc juste "serveur ftp" par "serveur ssh". Crée sur chaque poste un compte (par exemple admin) avec un mot de passe qui va bien.
Par abus de langage j'appelle clients les postes qui ont des données à sauver (alors qu'en toute rigueur ce sont des serveurs mais bon flemme de renommer mes variables).
Je ferais un truc du genre :
Bonne chance
Installe un serveur ssh (par exempl openssh-server) sur chaque poste client. Dans ton cas on remplace donc juste "serveur ftp" par "serveur ssh". Crée sur chaque poste un compte (par exemple admin) avec un mot de passe qui va bien.
Par abus de langage j'appelle clients les postes qui ont des données à sauver (alors qu'en toute rigueur ce sont des serveurs mais bon flemme de renommer mes variables).
Je ferais un truc du genre :
#!/bin/sh # Le fichier qui stocke pour chaque ligne l'IP d'un poste clients="clients.conf" # Le répertoire dans lequel je vais stocker toutes les sauvegardes root_dir="./sauvegardes" # Le sous-répertoire dans lequel je vais stocker toutes les sauvegardes du jour date=`date +%d-%m-%Y` # Le fichier contenant les logs du jour log_file="save_${date}.log" # Le répertoire qui contient les fichiers à sauver sur chacun des postes save_dir="repertoire_a_sauver" # Le login que tu utilises pour te connecter sur chaque poste. Il faudra que tu crées ce compte login="admin" for client in $(<$clients) do # Le sous-répertoire dans lequel je vais stocker toutes les sauvegardes du jour de ce pc target_dir="${root_directory}/${date}/${client}" mkdir -p $target_dir echo "Downloading file from ${client} into ${target_dir}" cmd="scp -r ${login}@${client}:${save_dir} ${target_dir}" $cmd > ${log_file} donePuis un système de clés ssh pour éviter de taper le mot de passe pour chaque compte du type admin@ip_client.
Bonne chance