备份和恢复消息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配置,请按照以下步骤操作:
- 运行
show current-config用户执行命令,生成CLI配置命令序列以备份指定的消息VPN,并将命令输出重定向到脚本文件(例如,mvpn1.cli)。 - 运行
show current-config用户执行命令,这次使用remove属性,生成CLI配置命令序列以删除指定的消息VPN,并将命令输出重定向到脚本文件(例如,tmp.cli)。 - 使用第2步生成的删除脚本,运行
source script用户执行命令从事件代理中删除当前消息VPN配置。 - 使用第1步生成的备份脚本,运行
source script用户执行命令将消息VPN配置恢复到事件代理上。
始终指定source script用户执行命令属性stop-on-error和no-prompt,以便脚本在遇到错误时停止运行,并且忽略是/否确认提示。
在一个事件代理上备份VPN配置并在另一个上恢复
要从一个Solace PubSub+设备备份并恢复单个消息VPN配置到另一个设备,请按照以下步骤操作:
- 在第一个事件代理上,运行
show current-config用户执行命令,生成CLI配置命令序列以备份指定的消息VPN,并将命令输出重定向到脚本文件(例如,mvpn1.cli)。 - 使用
copy特权执行命令将备份脚本从第一个事件代理传输到第二个。 - 在第二个事件代理上:
- 运行用户执行命令,这次使用
remove属性,生成CLI配置命令序列以删除指定的消息VPN,并将命令输出重定向到脚本文件(例如,tmp.cli)。 - 使用上述子步骤生成的删除脚本,运行
source script用户执行命令从第二个事件代理中删除当前消息VPN配置。 - 使用第2步传输的备份脚本,运行
source script用户执行命令将消息VPN配置恢复到第二个事件代理上。
- 运行用户执行命令,这次使用
始终指定source script命令属性stop-on-error和no-prompt,以便脚本在遇到错误时停止运行,并且忽略是/否确认提示。
示例:
以下是在事件代理solace1上备份消息VPN blue的配置并在事件代理solace2上恢复它的示例会话:
- 通过运行以下
show current-config用户执行命令,生成备份消息VPNblue配置所需的CLI命令序列,并将创建消息VPNblue的命令输出重定向到脚本文件blue.cli:
solace1> show current-config message-vpn blue > cliscripts/blue.cli
CLI分页在重定向的CLI命令执行期间自动禁用,但确认提示、错误和警告消息不会;它们仍然显示在CLI控制台上。
- 使用
copy特权执行命令将脚本文件从事件代理solace1传输到事件代理solace2:
solace1> enable
solace1# copy cliscripts/blue.cli sftp://admin@solace2/cliscripts
- 通过运行以下
show current-config用户执行命令,生成删除事件代理solace2上的消息VPNblue配置所需的CLI命令序列(以便用事件代理solace1上的配置替换),并将删除消息VPNblue的命令输出重定向到脚本文件tmp.cli:
solace2> show current-config message-vpn blue remove > cliscripts/tmp.cli
- 运行以下
source script用户执行命令,使用脚本文件tmp.cli从事件代理solace2中删除当前消息VPNblue配置,始终指定脚本在遇到错误时停止运行,并且忽略是/否确认提示:
solace2> source script tmp.cli stop-on-error no-prompt
- 运行以下
source script用户执行命令,使用脚本文件blue.cli将消息VPNblue的配置从事件代理solace1恢复到事件代理solace2上,始终指定脚本在遇到错 误时停止运行,并且忽略是/否确认提示:
solace2> source script blue.cli stop-on-error no-prompt