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

Shell et commandes GNU Discussion :

Script de Sauvegarde via FTP sur plusieurs Routeurs


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Par défaut Script de Sauvegarde via FTP sur plusieurs Routeurs
    Bonjour à tous,

    Est-il possible de mettre en place un script pour qu'il soit capable d'aller chercher les fichiers de conf sur plusieurs routeurs en même temps ?

    Voici la base d'un script que j'ai commencé (récupération d'un seul fichier de conf):

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
     
    #!/bin/sh
     
    #############################
    # DEFINITION DES PARAMETRES #
    #############################
     
    # Horodatage
    jour=$(date +%Y_%m_%d)
    heure=$(date +%r)
     
    # Fichier de LOG
    log="/sauvegardes/Routeur/log/Log_Traitement_USG_"$jour".txt"
     
    # Information Client
    client1="xxxx"
    IP1="x.x.x.x"
    PORT="xxxx"
    user1="xxxx"
    pass1="xxxx"
     
    #############################
    # DEBUT DU SCRIPT           #
    #############################
     
    # Creation fichier de LOG
    touch $log
     
    echo "Téléchargement de startup-config.conf sur "$IP1" le "date" en ""$jour"_"$client1".conf" " >>$log
     
    # Transfert FTP de startup-config.conf
    ftp -n << EOF
    open "$IP1" "$PORT"
    quote USER "$user1"
    quote PASS "$pass1"
    bin
    cd conf
    get startup-config.conf
    bye
    EOF
     
    mv startup-config.conf /sauvegardes/Routeur//""$jour"_"$client1"".conf
    Avez-vous svp une solution ?

    Merci d'avance.

    Cordialement,
    Laurent

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Bonjour,

    aller chercher les fichiers de conf sur plusieurs routeurs en même temps
    c'est un peu ambigu

    une bête boucle for :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for ip in $serv1 $serv2; do :recup fichier; done
    sh est une contrainte, ou tu peux utiliser un interpréteur de commandes un peu plus évolué, comme bash ?
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Par défaut
    Faut-il réécrire un script ? Le bash je ne connais pas du tout...

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Faut-il réécrire un script ?
    a minima, il faut adapter l'existant.
    Le bash je ne connais pas du tout...
    c'est comme sh, avec des tableaux indexés et associatifs, et des extensions, qui permettent de se passer de certaines commandes externes.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Mai 2014
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2014
    Messages : 30
    Par défaut
    Tu aurais une idée pour mon cas stp ? Sachant que j'ai une 100ène de routeurs différents (IP, login, mdp différents)

    Cdt,
    Laurent

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 640
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 640
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    $ cat monScript
    #!/bin/bash
     
    nomServeurs=( serv1 serv2 serv3 servN )
    declare -A ip login mdp
    ip=( [serv1]="123.456.789.123" [serv2]="123.456.789.124" [serv3]="123.456.789.125" [servN]="123.456.789.126" )
    login=( [serv1]=login1 [serv2]=login2 [serv3]=login3 [servN]=loginN )
    mdp=( [serv1]=mdp1 [serv2]=mdp2 [serv3]=mdp3 [servN]=mdpN )
     
    for serveur in "${nomServeurs[@]}"
    do
       printf '%s - %s - %s\n' "${ip[$serveur]}" "${login[$serveur]}" "${mdp[$serveur]}"
    done
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $ chmod +x ./monScript
    $ ./monScript
    123.456.789.123 - login1 - mdp1
    123.456.789.124 - login2 - mdp2
    123.456.789.125 - login3 - mdp3
    123.456.789.126 - loginN - mdpN
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. VPN sur plusieurs routeur
    Par polo(31) dans le forum Hardware
    Réponses: 9
    Dernier message: 10/07/2007, 00h34
  2. [IIS6][Débutant] FTP sur plusieurs sites
    Par daner06 dans le forum IIS
    Réponses: 5
    Dernier message: 30/03/2007, 17h43
  3. Écrire le log des Erreurs via FTP sur UNIX
    Par Alnsam dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 07/03/2007, 16h10

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