在此页面上
使用 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。