Expect - récupérer la date

Résolu
Bonjour,

J'ai un script qui me permet de sauvegarder mes confs de switchs automatiquement :

#!/usr/bin/expect -f

set type [lindex $argv 0]
set IP [lindex $argv 1]
set name [lindex $argv 2]
set user [lindex $argv 3]
set password [lindex $argv 4]

if {"$type" == "nortel470"} {
spawn telnet $IP
expect "Enter Ctrl-Y to begin."
send "\031"
expect "Enter Password:"
send "$password\r"
expect "IP Configuration/Setup..."
send "C"
expect "#"
send "copy running-config tftp address @IP filename $name-config\r"
expect "#"
send "exit"
}

le script récupère tous ces arguments à partir d'un fichier txt ou sont rentrés tous mes équipements réseaux.

Je voudrais pouvoir placer la date lorsque je récupère ma config en tftp du style :
$name-$madate-config

avec madate = `date +%m%Y`

mais bon ca, ca jne marche pas sous expect !! comment puis-je faire ???

merci de votre aide à tous

++
David
Configuration: Red Hat 5

4 réponses

  1. set madate [timestamp -format "%m%Y"]
    ;))
    merci !!!
    0
    1. Modérateur
      De rien et merci à toi aussi d'avoir posté la solution ;-))
      0
  2. Modérateur
    Regarde du côté de "timestamp" (man execpt), y'a peut être un truc à faire avec ;-))

    Je ne sais plus si je t'avais donné ces liens :
    http://www.cotse.com/dlf/man/expect/index.htm
    http://www.oreilly.com/catalog/expect/chapter/ch03.html
    0
    1. si j'avais essayé ca et ca marche de la boule

      par contre comme expliqué dans le message, le script recupere tous ces arguments dans un fichier texte

      si je place l'argument $(date +%m%Y) ou `date +%m%Y` et que je recupere dans mon script

      set madate [lindex argv 5] => il me recupere directement $(date +%m%Y) sans me l'exécuter...logique......

      comment puis-je faire ca ??

      merci d'avance
      merci jipicy pour la rapidité de ta réponse
      0
      1. Modérateur
        Salut,

        T'as essayé de passer la date avec les autres paramètres ?

        Un truc du style :
        ./monscript_expect type IP name user password $(date +%m%Y)
        ;-))
        0