跳到主要内容

备份和恢复消息VPN

除了备份整个Solace PubSub+事件代理配置数据库外,您还可以备份和恢复单个消息虚拟专用网络(VPN)。这是通过在消息VPN上运行show current-config用户执行命令并使用CLI输出重定向功能(即使用">")来完成的。这会在cliscripts目录中生成一个脚本,包含创建(或删除)指定消息VPN配置所需的CLI配置命令:

solace> show current-config message-vpn <vpn-name> [remove] > cliscripts/<script-name>.txt

其中:

<vpn-name> 是要备份的消息VPN的完整名称,或消息VPN名称的一部分,使用通配符字符?表示名称中的一个字符,或使用通配符字符*表示名称中的零个或多个字符,其中仅输入通配符*会显示所有消息VPN。

[remove] 请求生成CLI配置命令序列以删除(而不是创建)指定的消息VPN。

<script-name> 指定生成的CLI脚本文件的名称。

然后可以使用source script用户执行命令从cliscripts目录运行生成的脚本,以从事件代理中恢复或删除消息VPN配置。

有关从Solace CLI运行脚本的更多信息,请参阅编写和运行基本CLI脚本。

show current-config命令的输出包括所有管理对象。这包括:

  • 消息VPN
  • 客户端用户名
  • Java命名和目录接口(JNDI)对象
  • 保证消息池队列和主题端点
  • VPN桥
  • PubSub+缓存集群和实例
  • 访问控制列表(ACL)配置文件
  • 客户端配置文件

普通的show用户执行命令可以与其他命令并行运行,但配置命令按顺序运行以防止多个配置数据源(例如,多个CLI会话)相互冲突。由于show current config用户执行命令生成恢复消息VPN配置所需的命令,因此它也像配置命令一样按顺序运行。因此,运行show current config用户执行命令可能会阻止其他命令运行,直到当前配置操作完成。

在同一事件代理上备份和恢复VPN配置

要在同一事件代理上备份和恢复单个消息VPN配置,请按照以下步骤操作:

  1. 运行show current-config用户执行命令,生成CLI配置命令序列以备份指定的消息VPN,并将命令输出重定向到脚本文件(例如,mvpn1.cli)。
  2. 运行show current-config用户执行命令,这次使用remove属性,生成CLI配置命令序列以删除指定的消息VPN,并将命令输出重定向到脚本文件(例如,tmp.cli)。
  3. 使用第2步生成的删除脚本,运行source script用户执行命令从事件代理中删除当前消息VPN配置。
  4. 使用第1步生成的备份脚本,运行source script用户执行命令将消息VPN配置恢复到事件代理上。

始终指定source script用户执行命令属性stop-on-errorno-prompt,以便脚本在遇到错误时停止运行,并且忽略是/否确认提示。

在一个事件代理上备份VPN配置并在另一个上恢复

要从一个Solace PubSub+设备备份并恢复单个消息VPN配置到另一个设备,请按照以下步骤操作:

  1. 在第一个事件代理上,运行show current-config用户执行命令,生成CLI配置命令序列以备份指定的消息VPN,并将命令输出重定向到脚本文件(例如,mvpn1.cli)。
  2. 使用copy特权执行命令将备份脚本从第一个事件代理传输到第二个。
  3. 在第二个事件代理上:
    1. 运行用户执行命令,这次使用remove属性,生成CLI配置命令序列以删除指定的消息VPN,并将命令输出重定向到脚本文件(例如,tmp.cli)。
    2. 使用上述子步骤生成的删除脚本,运行source script用户执行命令从第二个事件代理中删除当前消息VPN配置。
    3. 使用第2步传输的备份脚本,运行source script用户执行命令将消息VPN配置恢复到第二个事件代理上。

始终指定source script命令属性stop-on-errorno-prompt,以便脚本在遇到错误时停止运行,并且忽略是/否确认提示。

示例:

以下是在事件代理solace1上备份消息VPN blue的配置并在事件代理solace2上恢复它的示例会话:

  1. 通过运行以下show current-config用户执行命令,生成备份消息VPN blue配置所需的CLI命令序列,并将创建消息VPN blue的命令输出重定向到脚本文件blue.cli
solace1> show current-config message-vpn blue > cliscripts/blue.cli

CLI分页在重定向的CLI命令执行期间自动禁用,但确认提示、错误和警告消息不会;它们仍然显示在CLI控制台上。

  1. 使用copy特权执行命令将脚本文件从事件代理solace1传输到事件代理solace2
solace1> enable
solace1# copy cliscripts/blue.cli sftp://admin@solace2/cliscripts
  1. 通过运行以下show current-config用户执行命令,生成删除事件代理solace2上的消息VPN blue配置所需的CLI命令序列(以便用事件代理solace1上的配置替换),并将删除消息VPN blue的命令输出重定向到脚本文件tmp.cli
solace2> show current-config message-vpn blue remove > cliscripts/tmp.cli
  1. 运行以下source script用户执行命令,使用脚本文件tmp.cli从事件代理solace2中删除当前消息VPN blue配置,始终指定脚本在遇到错误时停止运行,并且忽略是/否确认提示:
solace2> source script tmp.cli stop-on-error no-prompt
  1. 运行以下source script用户执行命令,使用脚本文件blue.cli将消息VPN blue的配置从事件代理solace1恢复到事件代理solace2上,始终指定脚本在遇到错误时停止运行,并且忽略是/否确认提示:
solace2> source script blue.cli stop-on-error no-prompt