Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Beispiel: Dateien mithilfe eines Op-Skripts exportieren

Das Op-Skript in diesem Beispiel verwendet den Junos XML-Protokollvorgang file-put , um in eine Datei auf einem Remoteserver und auf dem lokalen Gerät zu schreiben.

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-put erstellt eine Datei und schreibt den angegebenen Inhalt in diese Datei. Die grundlegende Syntax für die Verwendung des file-put Befehls lautet wie folgt:

Die folgenden Tag-Elemente werden mit dem file-put Befehl verwendet. Diese Tags können in beliebiger Reihenfolge platziert werden, mit Ausnahme von file-contents. Das file-contents Tag-Element muss das letzte Tag in der Liste sein.

  • delete-if-exist—(Optional) Falls enthalten, wird eine vorhandene Datei überschrieben. Wenn das Tag ausgelassen wird, wird ein Fehler zurückgegeben, wenn eine vorhandene Datei aufgetreten ist.

  • encoding—(Pflichtfeld) Gibt den verwendeten Codierungstyp an. Sie können sie verwenden ASCII oder base64 codieren.

  • filename—(Obligatorisch) In dieses Tag fügen Sie den vollständigen oder relativen Pfad und den Dateinamen der zu erstellenden Datei ein. Wenn Sie einen relativen Pfad verwenden, ist der angegebene Pfad relativ zum Homeverzeichnis des Benutzers. Wenn das angegebene Verzeichnis nicht vorhanden ist, gibt das System die Fehlermeldung "Verzeichnis existiert nicht" aus.

  • permission—(Optional) Legt die UNIX-Berechtigung der Datei auf dem Remote-Server fest. Wenn Sie beispielsweise Lese-/Schreibzugriff für den Benutzer und Lesezugriff auf andere anwenden möchten, setzen Sie den Berechtigungswert auf 0644. Eine vollständige Erklärung der UNIX-Berechtigungen finden Sie im chmod Befehl.

  • file-contents—(Obligatorisch) Der ascii- oder base64-codierte Dateiinhalt, der exportiert werden soll. Dies muss das letzte Tag in der Liste sein.

XSLT-Syntax

Das folgende Beispielskript führt eine Junos XML-API-Anfrage aus und exportiert die Ergebnisse in eine Datei auf einem Remotegerät und eine Datei auf dem lokalen Gerät. Das Skript nimmt drei Argumente: die IP-Adresse oder den Hostnamen des Remotegerä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) angezeigt werden.

Das Skript ruft die Junos XML-API-Anforderung <get-software-information> auf dem lokalen Gerät auf und speichert das Ergebnis in der result Variablen. Das Skript deklariert die fileput Variable, die den Remoteprozeduraufruf (RPC) für den file-put Vorgang enthält. Die Befehlszeilenargumente definieren die Werte für die Und encoding Tag-Elementefilename. Wenn das obligatorische Argument myhost fehlt, gibt das Skript einen Fehler aus und stoppt die Ausführung. Andernfalls fordert das Skript den Benutzernamen und das Kennwort ein, 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 Verbindungshandings aus. Die Ausgabe der file-put Operation, die das Ergebnis der jcs:execute() Funktion ist, wird in der out Variablen gespeichert. Wenn beim Vorgang ein Fehler auftritt, gibt das Skript den Fehler an die CLI aus. Wenn der file-put Vorgang erfolgreich ist, werden die vom file-contents Tag-Element angegebenen Inhalte in die angegebene Datei auf dem Remotegerät exportiert. Die Verbindung zum Remote-Host wird dann geschlossen. Das Skript exportiert auch den Inhalt in eine identische Datei auf dem lokalen Gerät.

Das Beispielskript enthält die optionalen Tag-Elemente permission und delete-if-exist für den file-put Vorgang. delete-if-exist Das Skript überschreibt jede vorhandene Datei mit demselben Namen auf den Remote- und lokalen Hosts. In diesem Beispiel ist das permission Tag auf 0644.

SLAX-Syntax

Konfiguration

Verfahren

Schritt-für-Schritt-Verfahren

Zum Herunterladen, Aktivieren und Testen des Skripts:

  1. Kopieren Sie das XSLT- oder SLAX-Skript in eine Textdatei, geben Sie der Datei den Namen export.xsl oder export.slax und kopieren Sie sie in das Verzeichnis /var/db/scripts/op/ auf dem Gerät.

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

  3. Erteilen Sie den commit and-quit Befehl.

  4. Führen Sie das Op-Skript durch Ausgabe des Befehls für den op export Betriebsmodus aus und fügen Sie alle erforderlichen Argumente ein.

Überprüfung

Überprüfen der Op-Skript-Argumente

Zweck

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

Aktion

Lösen Sie den op exort ? Betriebsmodus-Befehl aus. Die CLI listet die möglichen Abschlussmöglichkeiten für die Skriptargumente basierend auf den Definitionen in der globalen arguments Variablen im Skript auf.

Überprüfung der Ausführung von Op-Skripten

Zweck

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

Aktion

Geben Sie den Befehl für den op export myhost host encoding encoding filename file Betriebsmodus aus und geben Sie den entsprechenden Benutzernamen und das entsprechende Kennwort an, wenn Sie dazu aufgefordert werden. Wenn die Skriptausführung erfolgreich ist, wird das Ergebnis der <get-software-information> RPC-Anforderung in die Datei auf dem Remotegerät und auch auf dem lokalen Gerät geschrieben. Zum Beispiel:

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

Wenn Sie das delete-if-exist untergeordnete Tag des file-put Vorgangs auslassen und die angegebene Datei bereits vorhanden ist, meldet das Skript einen Fehler.

Wenn Sie das Skript ausführen und einen Verzeichnispfad einschließen, der weder auf dem Remote- noch auf dem lokalen Host vorhanden ist, meldet das Skript einen Fehler.