Bonjour à tous,

Voila j'ai un script qui permet de lancer un scp sur un équipement réseau afin de récupérer la conf de celui-ci.

Le problème est que je souhaite utiliser ce script pour lancer la sauvegarde sur plusieurs équipements sans pour autant faire 1 script = 1 équipement.

3 semaines que je suis sous linux me bloque sur mon avancement et c'est rageant.

Voici mon script et je vous remercie de l'aide que vous m'apporterez ::

## 1er script ## Connexion

#!/bin/sh -f

echo password du user:
read p1
echo OK
./script.exp $p1 switch1-`date '+%Y-%m-%d-%H-%M'`.conf "switch1@switch1.toto.net:/cfg/startup-config"
echo FIN
exit 0

## 2eme script ## Lancement de la copie

#!/usr/bin/expect -f

set force_conservative 0 ;# set to 1 to force conservative mode even if
;# script wasn't run conservatively originally
if {$force_conservative} {
set send_slow {1 .1}
proc send {ignore arg} {
sleep .1
exp_send -s -- $arg
}
}
set fic [lindex $argv 1]
set dir [lindex $argv 2]
spawn scp $dir $fic
set pp [lindex $argv 0]
send -- "PROCEDURE EN COURS...\r"
expect -exact "\rswitch1@switch1.toto.net's password: "
send -- "$pp\r"
expect eof

J'ai essayé en rajoutant dans le script 1 la ligne suivante avant echo FIN:
./script.exp $p1 switch2-`date '+%Y-%m-%d-%H-%M'`.conf "switch2@switch2.toto.net:/cfg/startup-config"
et de rajouter dans le script 2 avant send -- "$pp\r" :
expect -exact "\rswitch2@switch2.toto.net's password: "
Mais j'ai le message suivant :
exec request failed on channel 0

J'ai essayé plusieurs autres solutions du même style mais toujours la même erreur.

Je vous remercie de votre aide.