所有可以从 CA 3Tera AppLogic Shell 执行的命令也可以通过 ssh 从远程客户端执行。
在所有语法示例中,controllerhost 都代表要访问的 CA 3Tera AppLogic 控制器的主机名。假定客户端已经设置 SSH 代理,以便提供访问授权所必需的身份密钥,或假设提供了 SSH 实用工具的有效访问密钥(例如:通过命令行选项或配置文件)。不管用何种方法来提供访问选项,客户端都只能使用 SSH2 私钥(RSA 或 DSA),并且必须请求以“root”身份访问控制器。必须通过 Web 接口或可以通过 shell 来访问控制器的其他用户在控制器上安装相应的公钥。
如果您将 GNU bash 用作 shell,则可以使用一组 shell 函数,以交互方式或脚本的方式从您的 shell 方便地访问 CLI 命令。请参阅客户端宏。
ssh root@controllerhost entity command [args]
在控制器上执行单个 3t shell 命令(command)
ssh root@controllerhost command entity [args]
同上,但命令和实体名称交换。两个语法变量都可以由 3t shell 接受
注意:
ssh root@controllerhost 3t entity command [args] ssh root@controllerhost 3t command entity [args]
ssh root@controllerhost app config myapp .description=\'一些包含空格的说明\'
以下是专用于高级脚本以及用于实施包含客户端代码的交互式 shell 接口的远程命令。有关此类针对 GNU bash shell 而实施的接口的示例,请参阅客户端宏。
ssh [-t] controllerhost sh [args]
该命令与 CLI 界面的 ssh 命令功能相同,但如上所述只用于直接调用,并且无法通过交互式 CA 3Tera AppLogic shell 提示来访问。它可以在目标组件上自动安装伪终端,从而允许以透明方式使用需要 tty(例如:“vi”编辑器)的交互式命令。
ssh controllerhost =appname command [args]
这是上述一般的非交互式命令调用的变体,会为 CA 3Tera AppLogic CLI 命令提供“当前应用”。相当于从交互式 shell 执行以下两个命令:
ca appname command [args]
虽然支持“当前应用”的每个 CLI 命令也允许指定显式的应用名称,这种提供应用名称的替代方法可用于自带“当前应用”标记的客户端脚本,并且还使用常用函数来调用远程 CA 3Tera AppLogic 命令。这样,执行实际远程命令调用的函数根本不需要知道命令语法,以及特定命令是否将应用作为参数,而只是将当前应用的名称作为命令中的第一个词,让 CA 3Tera AppLogic 远程 shell 应用自己的规则来使用“当前应用”。
下面是一个简单的示例 (GNU bash),其定义名为“3t”的函数,用于调用远程命令:
function 3t() { ssh $CONTROLLER =$APP "$@" ; }
有了该函数,用户只需设置其控制器主机和当前应用,在远程命令前面加上 3t 前缀即可从本地 shell 使用这些命令,例如:
CONTROLLER=ctl.3tera.net APP=TWiki 3t grid info 3t app list # 在该命令中,当前应用的名称无关紧要 3t app start # 此处实际上会使用当前应用的名称
| 版权所有 © 2011 CA。 保留所有权利。 | 就该主题发送电子邮件至 CA Technologies |