FTP vers plusieurs machine
Fermé
stefff13
-
22 sept. 2008 à 17:54
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 23 sept. 2008 à 20:51
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 23 sept. 2008 à 20:51
A voir également:
- FTP vers plusieurs machine
- Time machine - Guide
- Windows 7 vers windows 10 - Guide
- Transferer photo android vers pc - Guide
- Machine virtuelle gratuite - Télécharger - Émulation & Virtualisation
- Filezilla ftp - Télécharger - Téléchargement & Transfert
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
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
22 sept. 2008 à 23:03
22 sept. 2008 à 23:03
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
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
23 sept. 2008 à 14:17
23 sept. 2008 à 14:17
Ah mais tu es sous linux ou pas ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
mamiemando
Messages postés
33079
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
23 avril 2024
7 749
23 sept. 2008 à 20:51
23 sept. 2008 à 20:51
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