IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Script de récupération de fichiers


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Par défaut Script de récupération de fichiers
    bonjour,

    je voudrais créer un script qui me permette de recupérer un fichier qui se trouve sur tous mes serveurs. il est dans la même répertoire sur chaque serveur et de le placer en le renomant : monfichier"nomduserveur".cfg sur un hote particulier.

    Donc en résumant mon script doit faire:
    -connexion sur chaque serveur(le username et pwd est le même)
    -récupération du fichier
    -transfert vers un autre hote.
    -renommer le fichier en monfichier"nomduserveur".cfg.

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    A base de scp, de crontab et de paires de clefs ssh ...

    http://lea-linux.org/cached/index/Reseau-secu-ssh.html

    Pour la crontab et scp, tu vas trouver de la doc facilement, je pense.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Par défaut
    j'ai pas vraiment besoin d'une connexion sécurisée tous les serveur auxquels accèdent mon script sont sur un réseau local.

    Merci

  4. #4
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Citation Envoyé par Cyborg289
    j'ai pas vraiment besoin d'une connexion sécurisée tous les serveur auxquels accèdent mon script sont sur un réseau local.

    Merci
    Alors trouve une autre solution.

    J'utilise ces outils sur un réseau local dans mon entreprise, et ça marche comme un charme.

    Si tu veux rajouter des failles de sécurité, je suis sûr que tu peux y arriver.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 134
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 134
    Par défaut
    Quelque chose comme ça (à tester quand même) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    SrcFile="Chemin/Fichier_A_Lire"
    ServeurDst="ServeurDestinataire"
    UserDst="UserDestinataire"
    PwdDst="PwdDestinataire"
    PathDest="CheminDestination"
    NomFic=$(basename ${SrcFile})
    NomFic=${NomFic%.*}	# Enlever l'extension
    echo	"Serveur1	User1	Pwd1
    Serveur2	UserName2	Pwd2
    Serveur3	UserName3	Pwd3
    "	|	while read Serveur UserName UserPwd
    do
    		ftp	-ivn <<-!EoF >> ${LogFile}
    			open ${Serveur}
    			user ${UserName} ${UserPwd}
    			get ${SrcFile}	./TmpFile
    			close
    			open ${ServeurDest}
    			user ${UserDest} ${PwdDest}
    			send ./TmpFile ${PathDest}${NomFic}${Serveur}.cfg
    			close
    			quit
    		!EoF
    done
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Par défaut
    merci beaucoup pour ton aide je vais tester ca demain te je te dis si ca marche

    ya juste un truc qui me chiffone que d'où sors "Serveur" dans :

    while read Serveur user mdp


    Merci

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 111
    Par défaut
    Et si tu montais les répertoires contenant les fichiers en NFS sur une seule machine.

    Un bête cp suffirait ensuite.

    P.S: NFS = monter un répertoire d'une machine sur une autre; cvs man exports et man mount.

  8. #8
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Par défaut
    ca irais s'il n'y avais qu'un seul serveur mais comme il y en a une centaine je pense pas que monter les repertoires de chaque serveur sois le plus optimal

  9. #9
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 226
    Par défaut
    voilà le script qui fonctionne au cas ou ca en interesse:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #!/bin/sh
    SrcFile="/oracle/exploit/conf/exportListe.cfg"
    User=***** 
    Pwd="******" 
    export User Pwd SrcFile
     
    for  ****  in `cat ListeServ`
    do
    echo "récupération du fichier exportListe.cfg sur le serveur $***"
    Gen=`basename $*** *domaine*`
    ftp -in $*** << EOF 
    user $User $Pwd
    get ${SrcFile} exportListe.$Gen.cfg
    bye
    EOF
    done
    echo "Récupération des fichiers terminée"

  10. #10
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Les mots de passe dans les scripts, c'est toujours très beau.
    [/sarcasme]
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

Discussions similaires

  1. Réponses: 1
    Dernier message: 31/10/2006, 16h25
  2. script windows qui détecte la présence d'un fichier
    Par yannich dans le forum Windows
    Réponses: 1
    Dernier message: 23/08/2006, 18h24
  3. Réponses: 21
    Dernier message: 29/09/2005, 19h33
  4. Réponses: 2
    Dernier message: 05/10/2004, 22h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo