【问题标题】:Linux shell script to run commands in JBoss Fuse shell在 JBoss Fuse shell 中运行命令的 Linux shell 脚本
【发布时间】:2017-07-26 18:08:40
【问题描述】:

我想编写一个 Linux shell 脚本,它会运行 client.sh 程序以打开 JBoss Fuse shell,然后在 JBoss Fuse shell 中运行诸如“container-stop”之类的命令并最终退出 JBoss Fuse壳。实现这一目标的最佳方法是什么?

问候。

【问题讨论】:

标签: shell jbossfuse fuseesb


【解决方案1】:

你需要执行的命令如下:

./client -r 3 -d 2 -u admin -p admin 'container-stop my-container'

此示例将进行身份验证,并将执行所需的命令一步。 -u-p 参数用于 用户名密码。很少有可选参数,例如 -r 用于在发生错误时重试,而 -d 用于延迟。您可以省略它们。

如果您要执行的命令很少,例如重新启动单个 Fabric 环境,那么将其编写为 bash 脚本可能是可以的。

但是如果您需要灵活、集中、能够同时在多个环境中运行、通用、便携等,那么我认为您最好使用一些自动化系统。它会在以后得到回报。在这种情况下,我可以建议您查看Ansible,因为它很轻量级并且很容易为其编写脚本。这是您安装在单台机器上的应用程序。从那里您可以通过 SSH 连接到远程机器并执行特定任务。您必须在名为 playbook 的简单 Ansible 脚本中提供这些说明。您也可以拥有多个目标主机,甚至可以同时执行任意数量的任务。

【讨论】: