Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Importieren von Dateien mit einem Op-Skript

Das Op-Skript in diesem Beispiel verwendet den Junos XML-Protokollvorgang file-get , um den Inhalt einer Datei von einem Remote-Server zu lesen.

Anforderungen

In diesem Beispiel wird ein Gerät verwendet, auf dem Junos OS ausgeführt wird.

Übersicht und Op-Skript

Der Junos XML-Protokollvorgang file-get liest den Inhalt einer Datei. Die grundlegende Syntax für die Verwendung des file-get Befehls lautet wie folgt:

Die folgenden Tag-Elemente werden mit dem file-get Befehl verwendet.

  • encoding—(Obligatorisch) Gibt den Typ der verwendeten Codierung an. Sie können , base64oder raw die Codierung verwendenASCII.

  • filename—(Obligatorisch) In diesem Tag geben Sie den vollständigen oder relativen Pfad und Dateinamen der zu importierenden Datei an. Wenn Sie einen relativen Pfad verwenden, ist der angegebene Pfad relativ zum Verzeichnis /var/tmp/ , wenn der file-get Vorgang lokal ausgeführt wird. Wenn der Vorgang remote im Kontext einer Verbindungskennung ausgeführt wird, ist der Pfad relativ zum Basisverzeichnis des Benutzers.

Hinweis:

Wenn Sie die ASCII-Codierung verwenden, konvertiert der file-get Vorgang alle Steuerzeichen in der importierten Datei in das Unicode-Zeichen "SECTION SIGN" (U+00A7).

XSLT-Syntax

Das folgende Beispielskript stellt eine Verbindung zu einem Remotegerät her und liest den Inhalt der angegebenen Datei. Das Skript akzeptiert drei Argumente: die IP-Adresse oder den Hostnamen des Remote-Geräts, den Dateinamen und die Dateicodierung. Die arguments Variable wird auf der globalen Ebene des Skripts deklariert, sodass die Argumentnamen und -beschreibungen in der Befehlszeilenschnittstelle (CLI) sichtbar sind.

Das Skript deklariert die Variable fileget , die den Remoteprozeduraufruf (Remote Procedure Call , RPC) für den file-get Vorgang enthält. Die Befehlszeilenargumente definieren die Werte für das filename und encoding tag-Element. Wenn das obligatorische Argument myhost fehlt, gibt das Skript einen Fehler aus und hält die Ausführung an. Andernfalls fordert das Skript zur Eingabe des Benutzernamens und des Kennworts auf, die für die Verbindung mit dem Remotegerät verwendet werden.

Wenn die Verbindung mit dem Remotegerät erfolgreich ist, führt das Skript den RPC im Kontext des Verbindungshandles aus. Die Ausgabe der file-get Operation, die das Ergebnis der jcs:execute() Funktion ist, wird in der Variablen out gespeichert. Wenn beim Vorgang ein Fehler auftritt, gibt das Skript den Fehler in der CLI aus. Wenn der file-get Vorgang erfolgreich ist, wird der Inhalt der Datei in der out Variablen gespeichert, die in der CLI ausgegeben wird. Die Verbindung zum Remote-Host wird dann geschlossen.

SLAX-Syntax

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So laden Sie das Skript herunter, aktivieren und testen es:

  1. Kopieren Sie das XSLT- oder SLAX-Skript in eine Textdatei, nennen Sie die Datei import.xsl oder import.slax und kopieren Sie sie in das Verzeichnis /var/db/scripts/op/ auf dem Gerät.

  2. Fügen Sie im Konfigurationsmodus die file Anweisung auf Hierarchieebene [edit system scripts op] und ggf. import.xsl oder import.slax ein.

  3. Geben Sie den commit and-quit Befehl ein, um die Konfiguration zu bestätigen und in den Betriebsmodus zurückzukehren.

  4. Führen Sie das op-Skript aus, indem Sie den op import Befehl operational mode eingeben, und fügen Sie alle erforderlichen Argumente hinzu.

Überprüfung

Überprüfen der Skriptargumente

Zweck

Stellen Sie sicher, dass die Argumentnamen und -beschreibungen in der CLI angezeigt werden.

Aktion

Geben Sie den op import ? Befehl Betriebsmodus ein. Die CLI listet die möglichen Vervollständigungen für die Skriptargumente basierend auf den Definitionen innerhalb der globalen arguments Variablen im Skript auf.

Überprüfen der Ausführung des Op-Skripts

Zweck

Stellen Sie sicher, dass sich das Skript wie erwartet verhält.

Aktion

Geben Sie den Befehl für den op import myhost host encoding encoding filename file Betriebsmodus ein und geben Sie den entsprechenden Benutzernamen und das Kennwort an, wenn Sie dazu aufgefordert werden. Wenn die Skriptausführung erfolgreich war, wird der Inhalt der angeforderten Datei angezeigt. Zum Beispiel:

Wenn Sie die IP-Adresse oder den Hostnamen des Remotegeräts nicht in den Befehlszeilenargumenten angeben, gibt das Skript einen Fehler aus und hält die Ausführung an.

Wenn der angegebene Pfad oder die angegebene Datei nicht vorhanden ist, gibt das Skript außerdem einen Fehler aus.