Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ejemplo: exportar archivos mediante un script de operación

El script op de este ejemplo utiliza la operación del protocolo file-put XML de Junos para escribir en un archivo en un servidor remoto y en el dispositivo local.

Requisitos

En este ejemplo se utiliza un dispositivo que ejecuta Junos OS.

Descripción general y script de operación

La operación de protocolo file-put XML de Junos crea un archivo y escribe el contenido especificado en ese archivo. La sintaxis básica para usar el file-put comando es la siguiente:

Los siguientes elementos de etiqueta se utilizan con el file-put comando. Estas etiquetas se pueden colocar en cualquier orden, con la excepción de file-contents. El file-contents elemento tag debe ser la última etiqueta de la lista.

  • delete-if-exist—(Opcional) Si se incluye, se sobrescribe cualquier archivo existente. Si se omite la etiqueta, se devuelve un error si se encuentra un archivo existente.

  • encoding—(Obligatorio) Especifica el tipo de codificación utilizada. Puede usar ASCII o base64 codificar.

  • filename—(Obligatorio) Dentro de esta etiqueta, se incluyen la ruta completa o relativa y el nombre de archivo del archivo que se va a crear. Cuando se utiliza una ruta de acceso relativa, la ruta de acceso especificada es relativa al directorio principal del usuario. Si el directorio especificado no existe, el sistema devuelve un error "el directorio no existe".

  • permission—(Opcional) Establece el permiso UNIX del archivo en el servidor remoto. Por ejemplo, para aplicar acceso de lectura y escritura para el usuario y acceso de lectura a otros, debe establecer el valor de permiso en 0644. Para obtener una explicación completa de los permisos de UNIX, consulte el chmod comando.

  • file-contents—(Obligatorio) Contenido del archivo codificado ASCII o base64 que se va a exportar. Esta debe ser la última etiqueta de la lista.

Sintaxis XSLT

La siguiente secuencia de comandos de ejemplo ejecuta una solicitud de API XML de Junos y exporta los resultados a un archivo en un dispositivo remoto y a un archivo en el dispositivo local. El script toma tres argumentos: la dirección IP o el nombre de host del dispositivo remoto, el nombre de archivo y la codificación del archivo. La arguments variable se declara en el nivel global del script para que los nombres y descripciones de los argumentos sean visibles en la interfaz de línea de comandos (CLI).

El script invoca la solicitud de la API <get-software-information> XML de Junos en el dispositivo local y almacena el resultado en la result variable. El script declara la fileput variable, que contiene la llamada a procedimiento remoto (RPC) para la file-put operación. Los argumentos de la línea de comandos definen los valores de los elementos de filename etiqueta y encoding . Si falta el argumento myhost obligatorio, el script emite un error y detiene la ejecución. De lo contrario, el script solicita el nombre de usuario y la contraseña que se usarán para conectarse al dispositivo remoto.

Si la conexión con el dispositivo remoto se realiza correctamente, el script ejecuta la RPC en el contexto del identificador de conexión. La salida de la file-put operación, que es el resultado de la jcs:execute() función, se almacena en la out variable. Si la operación encuentra un error, el script imprime el error en la CLI. Si la file-put operación se realiza correctamente, el contenido especificado por el elemento tag file-contents se exporta al archivo especificado en el dispositivo remoto. A continuación, se cierra la conexión con el host remoto. El script también exporta el contenido a un archivo idéntico en el dispositivo local.

El script de ejemplo incluye los elementos permission de etiqueta opcionales y delete-if-exist para la file-put operación. Al incluir la delete-if-exist etiqueta, el script sobrescribe cualquier archivo existente del mismo nombre en los hosts remoto y local. En este ejemplo, la permission etiqueta se establece en 0644.

Sintaxis de SLAX

Configuración

Procedimiento

Procedimiento paso a paso

Para descargar, habilitar y probar el script:

  1. Copie el script XSLT o SLAX en un archivo de texto, asigne al archivo el nombre export.xsl o export.slax según corresponda y cópielo en el directorio /var/db/scripts/op/ del dispositivo.

  2. En el modo de configuración, incluya la file instrucción en el nivel de [edit system scripts op] jerarquía y export.xsl o export.slax , según corresponda.

  3. Emita el commit and-quit comando.

  4. Ejecute el script op emitiendo el comando de op export modo operativo e incluya los argumentos necesarios.

Verificación

Comprobación de los argumentos del script de operación

Propósito

Compruebe que los nombres y las descripciones de los argumentos aparecen en la CLI.

Acción

Emita el comando de op exort ? modo operativo. La CLI enumera las posibles finalizaciones de los argumentos del script en función de las definiciones de la variable global arguments del script.

Verificación de la ejecución del script de operación

Propósito

Compruebe que el script se comporta como se esperaba.

Acción

Emita el comando de op export myhost host encoding encoding filename file modo operativo e incluya el nombre de usuario y la contraseña adecuados cuando se le solicite. Si la ejecución del script se realiza correctamente, el resultado de la <get-software-information> solicitud RPC se escribe en el archivo del dispositivo remoto y también en el dispositivo local. Por ejemplo:

Si no proporciona la dirección IP o el nombre de host del dispositivo remoto en los argumentos de la línea de comandos, la secuencia de comandos emite un error y detiene la ejecución.

Si omite la delete-if-exist etiqueta secundaria de la file-put operación y el archivo especificado ya existe, la secuencia de comandos informa de un error.

Si ejecuta la secuencia de comandos e incluye una ruta de acceso de directorio que no existe ni en el host remoto ni en el local, la secuencia de comandos notifica un error.