在此页面上
使用 Junos XML 协议检索之前的(回滚)配置
在与运行 Junos OS 的设备的 Junos XML 协议会话中,客户端应用程序可以请求先前提交的(回滚)配置。客户端可通过引用配置的回滚索引或其配置修订标识符来检索配置。
如何使用回滚编号检索配置
在与运行 Junos OS 的设备进行 Junos XML 协议会话以请求先前提交的(回滚)配置时,客户端应用程序会使用该元素执行 <get-rollback-information>
RPC <rollback>
。此操作等同于 show system rollback
操作模式命令。该 <rollback>
元素指定了要显示的前一个配置的回滚索引;其值可以从 0(对于最近提交的配置为零)到比存储的先前配置数量少一个(最大为 49)。
要请求默认的 Junos XML 标记输出,应用程序要么包含 <format>
值 xml
的元素,要么省略 <format>
该元素。
<rpc> <get-rollback-information> <rollback>index-number</rollback> </get-rollback-information> </rpc>
Junos XML 协议服务器在 和 标记元素中<rpc-reply>
<rollback-information>
<configuration>
括起其响应。标记<load-success/>
是实施的副作用,不会影响结果。有关打开<configuration>
标记中的属性的信息,请参阅 在 Junos XML 协议会话中指定配置信息请求的来源。
<rpc-reply xmlns:junos="URL"> <rollback-information> <load-success/> <configuration attributes> <!-- tag elements for the complete previous configuration --> </configuration> </rollback-information> </rpc-reply>
要请求格式化的 ASCII 输出,应用程序包含 <format>
值的 text
元素。
<rpc> <get-rollback-information> <rollback>index-number</rollback> <format>text</format> </get-rollback-information> </rpc>
Junos XML 协议服务器随附了其响应 <rpc-reply>
、 <rollback-information>
、 <configuration-information>
和 <configuration-output>
标记元素。有关 Junos OS 配置语句中使用的格式化 ASCII 符号的详细信息,请参阅 在 Junos XML 协议会话中指定配置数据的输出格式。
<rpc-reply xmlns:junos="URL"> <rollback-information> <load-success/> <configuration-information> <configuration-output> <!-- formatted ASCII text for the complete previous configuration --> </configuration-output> </configuration-information> </rollback-information> </rpc-reply>
从 Junos OS 版本 16.1 开始,要以 JSON 格式请求先前提交的(回滚)配置,应用程序包括<format>
该元素中的<get-rollback-information>
值json
。在 Junos OS 16.1 版之前,需要将属性包括format="json"
在开口<get-rollback-information>
标记中,从而请求 JSON 格式的数据。
<rpc> <get-rollback-information> <rollback>index-number</rollback> <format>json</format> </get-rollback-information> </rpc>
当您使用format="json"
属性来指定格式时,Junos XML 协议服务器会将其响应括在一个<rpc-reply>
元素中,顶级 JSON 成员的字段名称为 "rollback-information"
, 而发出的配置数据则使用较旧的实施进行序列化。当您使用该<format>json</format>
元素请求 JSON 格式化的数据时,Junos XML 协议服务器会将响应包含在 、 <rollback-information>
、 <configuration-information>
和<json-output>
标记元素中<rpc-reply>
,顶级 JSON 成员的字段名称为 "configuration"
, 且发出的配置数据使用较新的实施来实现序列化。
<rpc-reply xmlns:junos="URL"> <rollback-information> <load-success/> <configuration-information> <json-output> <!-- JSON data for the complete previous configuration --> </json-output> </configuration-information> </rollback-information> </rpc-reply>
以下示例说明如何为索引为 2 的回滚配置请求 Junos XML 标记的输出。在实际输出中 JUNOS-version ,变量被 Junos OS 版本 20.4 的初始版本的 20.4R1 等值取代。

如何使用配置修订版标识符检索配置
成功提交配置时,Junos OS 会为该配置分配唯一的配置修订标识符。而以前提交的配置的回滚索引与每个提交一起递增,而同一配置的配置修订标识符则保持静态。
从 Junos OS 版本 20.4R1 开始,Junos XML 协议客户端应用程序可以使用 <get-configuration-by-revision>
RPC 检索与给定配置修订版标识符对应的配置。例如:
<rpc> <get-configuration-by-revision> <revision-string>re0-1605226203-331</revision-string> </get-configuration-by-revision> </rpc>
服务器将返回中包含 <configuration-revision-information>
的请求配置。
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.4R1/junos"> <configuration-revision-information> <load-success/> <configuration junos:changed-seconds="1605226201" junos:changed-localtime="2020-11-12 16:10:01 PST"> ... </configuration> </configuration-revision-information> </rpc-reply>
默认情况下, <get-configuration-by-revision>
RPC 会以 XML 格式返回配置。要将配置作为文本或 JSON 返回,请将元素包含 <format>
在 RPC 中并指定 text
或 json
。
<rpc> <get-configuration-by-revision> <revision-string>re0-1605226203-331</revision-string> <format>text</format> </get-configuration-by-revision> </rpc>
<rpc> <get-configuration-by-revision> <revision-string>re0-1605226203-331</revision-string> <format>json</format> </get-configuration-by-revision> </rpc>
您可以确定配置修订标识符与特定配置的当前回滚索引之间的映射。请记住,给定提交的配置的配置修订标识符是静态的,而回滚索引在每个提交时都会递增。
要确定与特定配置修订版标识符对应的回滚编号,请执行 <get-configuration-by-revision>
RPC,指定修订标识符,并包括空 <rollback-number/>
标记。
<rpc> <get-configuration-by-revision> <revision-string>re0-1605226203-331</revision-string> <rollback-number/> </get-configuration-by-revision> </rpc>
设备将返回当前与该配置修订标识符相关联的回滚索引。
<rpc-reply> <configuration-revision-information> <rollback-number>2</rollback-number> </configuration-revision-information> </rpc-reply>
同样,要确定当前与特定回滚编号关联的配置修订标识符,请执行 <get-rollback-information>
RPC,指定回滚索引,并包括空 <configuration-revision/>
标记。
<rpc> <get-rollback-information> <rollback>2</rollback> <configuration-revision/> </get-rollback-information> </rpc>
设备将返回当前与该回滚索引相关联的配置修订标识符。
<rpc-reply> <rollback-information> <configuration-revision>re0-1605226203-331</configuration-revision> </rollback-information>
客户端应用程序还可以查看设备的提交历史记录,检索配置修订标识符映射以回滚指数。要查看提交历史记录并包括配置修订标识符,客户端应用程序将使用儿童元素执行 <get-commit-information>
RPC <include-configuration-revision/>
。服务器返回的 XML 输出等同于 show system commit include-configuration-revision
操作模式命令输出。
<rpc> <get-commit-information> <include-configuration-revision/> </get-commit-information> </rpc>
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/20.4R1/junos"> <commit-information> <commit-history> <sequence-number>0</sequence-number> <user>admin</user> <client>netconf</client> <date-time junos:seconds="1605236880">2020-11-12 19:08:00 PST</date-time> <configuration-revision>re0-1605236878-333</configuration-revision> </commit-history> <commit-history> <sequence-number>1</sequence-number> <user>user1</user> <client>netconf</client> <date-time junos:seconds="1605228068">2020-11-12 16:41:08 PST</date-time> <configuration-revision>re0-1605228066-332</configuration-revision> </commit-history> </commit-information> <commit-history> <sequence-number>2</sequence-number> <user>admin</user> <client>cli</client> <date-time junos:seconds="1605226205">2020-11-12 16:10:05 PST</date-time> <configuration-revision>re0-1605226203-331</configuration-revision> </commit-history> ... </rpc-reply>
<format>
该元素中的
<get-rollback-information>
值
json
。