Tema anterior: Convenciones de denominación de entidad de CA AppLogic

Tema siguiente: Guía de referencia de la interfaz de usuario


Generación de scripts de comandos de la interfaz de línea de comandos

Todos los comandos que se pueden ejecutar desde el shell de CA AppLogic se pueden ejecutar también desde un cliente remoto a través de ssh.

En todos los ejemplos de sintaxis, controllerhost es el nombre de host del controlador de CA AppLogic al cual se accede. Se supone que el cliente ha configurado un agente de SSH para proporcionar las claves de identidad necesarias para la autorización de acceso o que se ha proporcionado una clave de acceso válida de cualquier otra forma a la utilidad SSH (por ejemplo, a través de una opción de línea de comandos o un archivo de configuración). Sin tener en cuenta el método utilizado para proporcionar las opciones de acceso, el cliente puede utilizar solamente una clave privada SSH2 (RSA o DSA) y debe solicitar el acceso al controlador como "raíz". La clave pública correspondiente se deberá haber instalado en el controlador a través de la interfaz Web o mediante otro usuario que tenga acceso de shell al controlador.

Si está utilizando GNU Bash como shell, un conjunto de funciones de shell está disponible para acceder cómodamente a los comandos de la interfaz de línea de comandos desde el shell, o bien de forma interactiva o en un script. Consulte Macros del lado del cliente.

ssh root@controllerhost entity command [args]

Ejecuta sólo un comando de shell 3t (comando) en el controlador.

ssh root@controllerhost command entity [args]

Igual que el anterior, con el comando y el nombre de la entidad intercambiados. Las dos variantes de sintaxis se aceptan en el shell de 3t.

Notas:

Comandos de la interfaz de línea de comandos sólo de scripts

A continuación, figuran los comandos remotos destinados a scripts avanzados y a implementar las interfaces de shell interactivas que tienen código del lado del cliente. Consulte Macros del lado del cliente para ver un ejemplo de una interfaz de este tipo, implementada para el shell de GNU Bash.

Acceso del shell del dispositivo
ssh [-t] controllerhost sh [args] 

Este comando tiene la misma función que el comando ssh en la interfaz de línea de comandos, pero se destina solamente a la invocación directa, tal y como se muestra anteriormente, y no se puede acceder a él mediante el indicador de comandos del shell interactivo de CA AppLogic. Proporciona una configuración automática del pseudoterminal en el dispositivo de destino, para permitir un uso transparente de los comandos interactivos que requieren un tty (por ejemplo, el editor "vi").

Invocación de comandos con la "aplicación actual"
ssh controllerhost =appname command [args] 

Esto es una variante de la invocación de comandos no interactivos normales que se describe arriba, que proporciona una "aplicación actual" para el comando de la interfaz interactiva de CA AppLogic. Es equivalente a ejecutar los dos comandos siguientes desde el shell interactivo:

ca appname 
command [args] 

Aunque cada comando de la interfaz de línea de comandos individual que es compatible con la "aplicación actual" también permite que se especifique un nombre de la aplicación explícito, esta forma alternativa de proporcionar un nombre de aplicación es útil para scripts de cliente que tienen su propia noción de una "aplicación actual" y también utilizan una función común para invocar los comandos de CA AppLogic remotos. De esta forma, la función que hace realmente la invocación del comando remoto no tiene que conocer la sintaxis de comando ni si el comando concreto usa una aplicación como argumento en absoluto: sencillamente pone el nombre de la aplicación actual como la primera palabra en el comando y deja que el shell remoto de CA AppLogic aplique sus propias reglas para utilizar la "aplicación actual".

Éste es un ejemplo sencillo (GNU Bash), que define una función llamada "3t", para usarla con objeto de invocar comandos remotos:

function 3t() { ssh $CONTROLLER =$APP "$@" ; } 

Con esta función, simplemente hay que definir el host del controlador y la aplicación actual, y empezar a utilizar comandos remotos desde el shell local usando el prefijo 3t, por ejemplo:

CONTROLLER=ctl.3tera.net 
APP=TWiki 
3t grid info 
3t app list  # in this command, the current app name doesn't matter 
3t app start # here, the current application name will actually be used