我想编写一个Linux shell脚本,运行client.sh程序打开一个JBoss Fuse shell,然后依次运行" container-stop"等命令。在JBoss Fuse shell中最终退出JBoss Fuse shell。实现这一目标的最佳方法是什么?
问候。
答案 0 :(得分:0)
您需要执行的命令如下:
./client -r 3 -d 2 -u admin -p admin 'container-stop my-container'
此示例将进行身份验证,并将执行所需的命令。 参数 -u 和 -p 适用于用户名和密码。有很多可选参数,例如 -r 用于在发生错误时重试, -d 用于延迟。你可以省略它们。
如果您执行的命令很少,例如重新启动单个Fabric环境,则可以将其写为bash脚本。
但如果你需要灵活,集中,能够在多个环境中同时运行,通用,便携等,那么我的意见是你最好使用一些自动化系统。它会在以后付清。在这种情况下,我可以建议你查看Ansible因为它是轻量级的,并且很容易为它编写脚本。这是您在单台计算机上安装的应用程序。从那里,您可以SSH到远程计算机并执行特定任务。您必须在一个名为playbook的简单Ansible脚本中提供这些指令。您也可以拥有多个目标主机,您甚至可以同时执行任意数量的任务。