Para aquellos que usan GNU Bash: macros del lado del cliente: una forma alternativa de acceder a los comandos del shell de CA 3Tera AppLogic directamente desde el símbolo del sistema local.
Macros del lado del cliente para clientes de GNU Bash y OpenSSH: para lograr un fácil acceso a todas las funciones de 3tshell, la interfaz de línea de comandos de CA 3Tera AppLogic, directamente desde el indicador de comandos del shell local.
Descarga:
Para utilizar esto en su sistema, todo lo que necesita es tener GNU Bash 2.0 o una versión posterior y el programa cliente de OpenSSH (ssh), versión 3.9 o una versión posterior. Descargue el archivo de shell adjunto, guárdelo en un disco e inclúyalo en el shell usando el comando de origen (o .). Esto se puede hacer en el archivo ".bashrc", para que esté disponible para todas las instancias de shell interactivas que se inicien.
Una vez que el archivo rmacros.sh esté cargado, los comandos siguientes pasan a estar disponibles desde el indicador de comandos del shell. Los mismos comandos se pueden utilizar también en un script no interactivo incluyendo simplemente el archivo rmacros.sh desde el script con el comando de "origen":
Establece el nombre de host del controlador al cual se deben dirigir los comandos subsiguientes. Esto se deberá hacer antes de utilizar cualquiera de los otros comandos.
Realiza la desconexión del controlador. Esto cierra la sesión ssh principal con el controlador.
Esto es lo mismo que escribir el comando en el indicador de comandos del shell de CA 3Tera AppLogic. Este formato es útil para comandos sencillos y para operaciones por lotes desatendidas. Use 3t -t para comandos que requieran la interacción del usuario (por ejemplo, vol manage).
Es igual que el comando 3t any 3tshell, pero permite el modo interactivo, ejecutando el shell de CA 3Tera AppLogic con el pseudoterminal ssh activado.
Invoca el shell interactivo de CA 3Tera AppLogic.
Establece la aplicación actual. Esto funciona de la misma forma que el comando "ca" en el shell interactivo. Ejecutar 3t ca myapp no servirá porque cada invocación del comando "3t" inicia una nueva instancia del shell de CA 3Tera AppLogic.
Muestra el nombre de la aplicación actual (tal y como establece ca)
Abre un shell interactivo en una instancia en ejecución del dispositivo en la aplicación actual o en la aplicación especificada. El valor de "component" es el nombre completo de la instancia en la jerarquía de la aplicación. El nombre del ensamblaje de nivel superior (main.) se puede omitir, por ejemplo, los siguientes comandos son equivalentes:
assh the-app:main.web.srv1 ca the-app ; assh web.srv1
Ejecuta un comando no interactivo en una instancia del dispositivo. NOTA: En versiones anteriores (1.x) de CA 3Tera AppLogic, el nombre del comando y los argumentos no pueden contener espacios, es decir, esto no funcionará según lo previsto:
assh web.srv1 cat "the file with spaces in its name".
Si debe hacer esto en un grid antiguo, haga un script corto y cópielo en el dispositivo en ejecución usando el comando ascp siguiente y, a continuación, inicie ese script.
Copie un archivo desde/en un dispositivo en ejecución. Uno de los parámetros src o dest debe ser el nombre de un archivo local o directorio. El otro especifica el dispositivo remoto y el nombre de archivo en un formato similar al del comando "scp":
comp.name:filename
El nombre del componente es la ruta completa del componente en el ensamblaje de la aplicación (al igual que en assh, el prefijo main. se puede omitir). Este comando requiere que la aplicación actual se defina mediante el comando ca.
Acceso directo. Igual que 3t app list.
Acceso directo. Igual que 3t app start `pwa`.
Acceso directo. Igual que 3t app stop `pwa`.
No se admite en CA 3Tera AppLogic 2.3 ni en versiones posteriores. Use la nueva operación vol manage en su lugar.
No se admite en CA 3Tera AppLogic 2.3 ni en versiones posteriores.
Configuración de opciones SSH personalizadas
Además de la forma normal de configurar las opciones SSH (que es ponerlas en el archivo ~/.ssh/config), los comandos proporcionados por rmacros.sh también aceptan una configuración de variable de entorno con opciones que afectan solamente a invocaciones de ssh generadas por las macros, pero no ningún otro comando ssh. Esto es útil si necesita una configuración diferente para trabajar con los grids de CA 3Tera AppLogic y para otras sesiones de ssh, y el método por host, que se puede usar con el archivo .ssh/config, no es apropiado para separar las distintas opciones. Esto incluye el caso de que usted tenga también acceso de "mantenedor" al grid de CA 3Tera AppLogic (por ejemplo, si usted ha instalado ese grid). En este caso, tendrá una clave SSH que le proporciona acceso de raíz al controlador, que no es lo que se necesita para trabajar como un "cliente" normal.
Para proporcionar más opciones a las macros de acceso remoto en rmacros.sh, configure la variable AL_SSH_OPT. Debería contener opciones en el formato aceptado por ssh y todos sus programas adjuntos (scp y sftp, entre otros): -o OptionName=option-value. No utilice opciones abreviadas como -i, -t, etc., ya que estas funcionan con ssh, pero no con scp.
Ejemplo: export AL_SSH_OPT='-o IdentityFile=/home/lk/t-key -o IdentitiesOnly=yes -o StrictHostKeyChecking=no'
Esto indica a SSH: hay que utilizar la clave /home/lk/t-key para la autenticación de clave pública; no hay que utilizar las claves que proporciona ssh-agent; hay que desactivar las comprobaciones de identidad de host estrictas (utilice la última solamente si reinstala con frecuencia grids desde cero, lo que hace que el ID de SSH del controlador cambie cada vez).
Acceso rápido y fácil con las sesiones principales de SSH
Las funciones definidas en rmacros.sh utilizan la función de "sesión principal" del cliente de OpenSSH. El primer comando que se ejecute iniciará un cliente de ssh en segundo plano en el modo "principal" y todos los comandos subsiguientes utilizan la sesión mantenida por la "principal" para ejecutar otras sesiones de ssh a través del mismo canal seguro.
Esto proporciona dos beneficios: primero, sólo es necesario escribir una vez la frase de contraseña para acceder a la clave privada de SSH (después de esto, la sesión se mantiene abierta y no se hace ningún inicio de sesión adicional).
En segundo lugar, esto hace que las nuevas invocaciones de "ssh" sean tan rápidas como escribir comandos en una sesión de SSH ya abierta. En realidad, es más rápido, porque el comando se envía una vez, cuando se pulsa Intro, mientras que en una sesión interactiva se utiliza el eco carácter a carácter, a medida que se escribe el comando.
También, el hecho de ejecutar los comandos localmente desde el shell y no desde la consola 3tshell permite utilizar todo el potencial del shell para componer comandos que no son posibles con una sesión interactiva de 3tshell, por ejemplo:
Para obtener una lista de las aplicaciones en ejecución:
3t app list | grep running
Para guardar una lista de volúmenes en un archivo:
3t vol list --all >file
Para transferir una configuración de una aplicación a otra:
3t app config app1 --batch | 3t app config app2 --stdin
| Copyright © 2011 CA. Todos los derechos reservados. | Enviar correo electrónico a CA Technologies acerca de este tema |