----- Original Message ----- From: "Joerg Thuemmler" <listen@vordruckleitverlag.de> To: <suse-linux@suse.com> Sent: Tuesday, April 29, 2003 9:33 AM Subject: Re: Perl Tipp für telnet Fernsteuerung Am Dienstag, 29. April 2003 09:05 schrieb Robert Schott:
Hallo,
mir schwebt folgendes vor: Ein entferntes Gerät das über eine Telnet-Umgebung verfügt (so richtig mit Menüs und so - leider aber auf keine vernünftige andere Weise angesprochen werden kann) per (z.B. Perl-) Skript zu steuern.
Kann mir bitte jemand einen Tipp geben, wie man sowas am dümmsten anstellt?
Grüße
Robert
Kommt drauf an, wie die Menüs gestrickt sind. Wenn sie über die Standardein- und Ausgabe laufen, kannst Du - wenn das geht - auf dem remote ein script ablaufen lassen, das sie bedient. Wenn Du aber dort nix eigenes starten kannst und nur telnet drauf ist, sehe ich ziemlich schwarz.
Ich habe mal auf der Cisco-Homepage ein Shell-Script gefunden, was sowas macht, geht bestimmt auch auf diesem Router. #!/bin/bash ########################################### # Router's IP address # IP_ADDRESS='10.200.40.53' # Directory where the log files will be stored # DIR=/var/log/router ######################################## if [ ! -e $DIR ] then mkdir $DIR fi # Tag specification: mmddhhmm DATE=`date +'%m%d'` TIME=`date +'%H%M'` TAG=$DATE$TIME # Collect data from the router (echo "foo";\ echo "bar";\ echo "term len 0";\ echo "show version";\ echo "show processes cpu";\ echo "term len 15";\ echo "show memory summary";\ echo "q";\ sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg die Eingaben sind genauso, wie du sie eingibst, wenn du das von Hand machst. Am Ende eines jeden echo wird automatisch ein Ersatz für die Eingabetaste ausgegeben. in diesem Beispiel ist "foo" der Benutzername und "bar" das Passwort. Den resst musst du natürlich durch deine eigenen Befehle ersetzen. Mfg, Thomas