Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:使用操作脚本导入文件

此示例中的 op 脚本 使用 Junos XML 协议 file-get 操作从远程服务器读取文件的内容。

要求

此示例使用运行 Junos OS 的设备。

概述和操作脚本

Junos XML 协议 file-get 操作读取文件的内容。使用 file-get 命令的基本语法如下:

以下标记元素与命令一起使用 file-get

  • encoding-(必需)指定使用的编码类型。您可以使用 ASCIIbase64raw 编码。

  • filename-(必需)此标记中包含要导入的文件的完整或相对路径和文件名。使用相对路径时,如果file-get在本地执行操作,则指定的路径将相对于 /var/tmp/ 目录。如果在连接句柄的上下文中远程执行操作,则路径将相对于用户的主目录。

注意:

使用 ASCII 编码时, file-get 操作会将导入文件中的任何控制字符转换为 Unicode 字符“SECTION SIGN”(U+00A7)。

XSLT 语法

以下示例脚本连接到远程设备并读取指定文件的内容。脚本采用三个参数:远程设备的 IP 地址或主机名、文件名和文件编码。变量 arguments 在脚本的全局级别进行声明,以便在命令行界面 (CLI) 中显示参数名称和说明。

该脚本会声明该fileget变量,其中包含该操作的file-get远程过程调用 (RPC)。命令行参数定义和encoding标记元素的值filename。如果缺少必需参数myhost,则脚本会发出错误并停止执行。否则,脚本会提示输入连接到远程设备的用户名和密码。

如果与远程设备的连接成功,则脚本将在连接句柄的上下文中执行 RPC。操作的 file-get 输出是函数的结果 jcs:execute() ,存储在变量中 out 。如果操作遇到错误,脚本将错误打印到 CLI。 file-get 如果操作成功,则文件的内容将存储在变量中 out ,该变量将打印到 CLI。然后,与远程主机的连接将关闭。

SLAX 语法

配置

程序

逐步过程

要下载、启用和测试脚本:

  1. 将 XSLT 或 SLAX 脚本复制到文本文件中,根据需要将文件命名为 import.xslimport.slax ,并将其复制到设备上的 /var/db/script/op/ 目录中。

  2. 在配置模式下,在 file 层次结构级别包括语句 [edit system scripts op] ,并根据需要 将 import.xslimport.slax 包含在内。

  3. commit and-quit发出命令以提交配置并返回到操作模式。

  4. 通过发出 op import 操作模式命令来执行操作脚本,并包括任何必要的参数。

验证

验证脚本参数

目的

验证参数名称和说明是否显示在 CLI 中。

行动

发出 op import ? 操作模式命令。CLI 根据脚本中的全局 arguments 变量中的定义,列出了脚本参数的可能补全。

验证操作脚本执行

目的

验证脚本是否按预期运行。

行动

发出 op import myhost host encoding encoding filename file 操作模式命令,并在出现提示时包括适当的用户名和密码。如果脚本执行成功,将显示请求文件的内容。例如:

如果未能在命令行参数中提供远程设备的 IP 地址或主机名,则脚本会发出错误并停止执行。

此外,如果指定的路径或文件不存在,则脚本会发出错误。