Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Exemple : Exporter des fichiers à l’aide d’un script Op

Le script op de cet exemple utilise le protocole file-put XML Junos pour écrire dans un fichier sur un serveur distant et sur l’équipement local.

Exigences

Cet exemple utilise un équipement exécutant Junos OS.

Script de présentation et d’exploitation

Le fonctionnement du protocole file-put XML Junos crée un fichier et enregistre le contenu spécifié dans ce fichier. La syntaxe de base pour l’utilisation de la commande est la file-put suivante :

Les éléments de balise suivants sont utilisés avec la file-put commande. Ces balises peuvent être placées dans n’importe quel ordre, à l’exception de file-contents. L’élément file-contents de balise doit être la dernière balise de la liste.

  • delete-if-exist—(Facultatif) Si inclus, tout fichier existant est écrasé. Si la balise est omise, une erreur est renvoyée si un fichier existant est rencontré.

  • encoding— (Obligatoire) Spécifie le type d’encodage utilisé. Vous pouvez l’utiliser ou base64 l’encoderASCII.

  • filename— (Obligatoire) Dans cette balise, vous incluez le chemin complet ou relatif et le nom de fichier à créer. Lorsque vous utilisez un chemin relatif, le chemin spécifié est relatif au répertoire personnel de l’utilisateur. Si le répertoire spécifié n’existe pas, le système renvoie une erreur « il n’existe pas de répertoire ».

  • permission— (Facultatif) Définit l’autorisation UNIX du fichier sur le serveur distant. Par exemple, pour appliquer l’accès en lecture/écriture à l’utilisateur et pour lire l’accès à d’autres utilisateurs, vous définissez la valeur d’autorisation sur 0644. Pour obtenir une explication complète des autorisations UNIX, reportez-vous à la chmod commande.

  • file-contents—(Obligatoire) Contenu du fichier ASCII ou encodé en base64 pour l’exporter. Il doit s’agir de la dernière balise de la liste.

Syntaxe XSLT

L’exemple de script suivant exécute une demande d’API XML Junos et exporte les résultats vers un fichier sur un équipement distant et un fichier sur l’équipement local. Le script prend trois arguments : l’adresse IP ou le nom d’hôte de l’équipement distant, le nom de fichier et l’encodage du fichier. La arguments variable est déclarée au niveau global du script, de sorte que les noms et les descriptions des arguments sont visibles dans l’interface de ligne de commande (CLI).

Le script appelle la requête d’API <get-software-information> XML Junos sur l’équipement local et enregistre le résultat de la result variable. Le script déclare la fileput variable, qui contient l’appel de procédure à distance (RPC) pour l’opérationfile-put. Les arguments en ligne de commande définissent les valeurs des éléments de balise et encoding de balisefilename. Si l’argument myhost obligatoire est manquant, le script génère une erreur et arrête l’exécution. Sinon, le script invite à indiquer le nom d’utilisateur et le mot de passe qui seront utilisés pour se connecter à l’équipement distant.

Si la connexion à l’équipement distant réussit, le script exécute le rpc dans le contexte de la poignée de connexion. La sortie de l’opération file-put , qui est le résultat de la jcs:execute() fonction, est stockée dans la out variable. Si l’opération rencontre une erreur, le script l’imprime à l’interface de ligne de commande. Si l’opération file-put réussit, le contenu spécifié par l’élément file-contents de balise est exporté vers le fichier spécifié sur l’équipement distant. La connexion à l’hôte distant est alors fermée. Le script exporte également le contenu vers un fichier identique sur l’équipement local.

L’exemple de script inclut les éléments permission de balise facultatifs et delete-if-exist pour l’opération file-put . En incluant la delete-if-exist balise, le script remplace tout fichier existant du même nom sur les hôtes locaux et distants. Dans cet exemple, la permission balise est définie sur 0644.

Syntaxe SLAX

Configuration

Procédure

Procédure étape par étape

Pour télécharger, activer et tester le script :

  1. Copiez le script XSLT ou SLAX dans un fichier texte, nommez le fichier export.xsl ou export.slax le cas échéant et copiez-le dans le répertoire /var/db/scripts/op/ de l’équipement.

  2. En mode configuration, incluez l’instruction file au niveau de la hiérarchie et, le [edit system scripts op] cas échéant, export.xsl ou export.slax .

  3. Émettre la commit and-quit commande.

  4. Exécutez le script op en exécutant la commande du op export mode opérationnel et incluez tous les arguments nécessaires.

Vérification

Vérification des arguments des scripts op

But

Vérifiez que les noms et les descriptions des arguments s’affichent dans l’interface de ligne de commande.

Action

Émettre la commande du op exort ? mode opérationnel. L’interface de ligne de commande répertorie les réussites possibles des arguments de script en fonction des définitions de la variable globale arguments du script.

Vérification de l’exécution des scripts op

But

Vérifiez que le script se comporte comme prévu.

Action

Émettre la commande du op export myhost host encoding encoding filename file mode opérationnel et inclure le nom d’utilisateur et le mot de passe appropriés lorsque vous y êtes invité. Si l’exécution de scripts réussit, le résultat de la <get-software-information> demande RPC est écrit dans le fichier sur l’équipement distant et sur l’équipement local. Par exemple :

Si vous ne fournissez pas l’adresse IP ou le nom d’hôte de l’équipement distant dans les arguments de ligne de commande, le script génère une erreur et arrête l’exécution.

Si vous omettez la delete-if-exist balise enfant de l’opération file-put et que le fichier spécifié existe déjà, le script signale une erreur.

Si vous exécutez le script et que vous incluez un chemin d’annuaire qui n’existe pas sur l’hôte local ou distant, le script signale une erreur.