UPM: Backup der Konfiguration

Ziel ist es zeitgesteuert die Konfiguration eines Switches zu sichern. Hierzu bietet sich die Nutzung von UPM (Universal Port) an. UPM kann auf verschiedene Events reagieren: "... ? User login and logoff
? Device connection to or disconnection from a port
? Time of day
? Event Management System event messages ..." Das Prinzip für die Sicherung ist, dass man ein Profil anlegt, das die eigentliche "Befehlsliste" enthält, dann einen Timer, der den Schedule enthält, und beide am Ende miteinander verknüpft. Das fertige Script sieht dann wie folgt aus:  
create up profile PBackupCFG
create log entry "Backup configuration"
upload configuration 172.18.0.193 /data/tftproot/up/sw211.xsf vr "VR-Default"
.
   
configure upm profile PBackupCFG maximum execution-time 60
   
create upm timer TBackupCFG
configure upm timer TBackupCFG at 06 16 2011 9 0 0 every 86400
configure upm timer TBackupCFG profile PBackupCFG
  In Zeile 1 wird ein Profil mit dem Namen PBackupCFG erzeugt. Von Zeile 2 bis Zeile 4 kommen dann die eigentlichen Befehle, die beim Eintreten des Events (wird später definiert) ausgelöst werden sollen. Zeile 2 erzeugt einen Log- Eintrag. Der Wert 172.18.0.193 in Zeile 3 ist die IP eines TFTP Servers, der Dateien von der IP des Switches annimmt. Direkt dahinter steht der Zielpfad und der Dateiname für die abgelege Konfiguration, sowie der verwendete VR. Zeile 4 beendet die Eingabe der "Task- Befehle". In Zeile 6 wird die maximale Ausführzeit definiert. Zeile 8 erzeugt einen neuen Timer mit dem Namen TBackupCFG, der in Zeile 9 genauer definiert wird. So soll der Timer ab dem 16.6.2011, 9 Uhr alle 86400 Sekunden (1Tag) laufen. In Zeile 10 erfolgt nun die eigentliche Verknüpfung von Profil und Timer. Und schon wird 1 mal am Tag um 9 Uhr eine Kopie der aktuellen Konfiguration des Switches auf dem TFTP Server abgelegt. Selbstverständlich funktioniert es auch das aktuelle Datum, sowie die Uhrzeit in den Dateinamen zu kodieren. Das sieht dann z.B. so aus (auch gleich noch mit ein paar Variablen bestückt):  
set var tftphost 172.18.0.193
set var tftppath /data/tftproot/up/
delete var "CLI.OUT"
set var CLI.OUT " "
show switch
set var switchname $TCL(lrange ${CLI.OUT} 1 1)
set var baseSystemTime $TCL(clock seconds)
set var timestamp $TCL(clock format $baseSystemTime -format {%Y%m%d-%H%M%S})
set var filename $(timestamp)-$(switchname).xsf
create log entry "Backup configuration for $(switchname) as $(tftppath)/$(filename) to $(tftphost)"
upload configuration $(tftphost) $(tftppath)$(filename) vr "VR-Default"