Pour les utilisateurs de GNU bash, les macros client constituent une alternative pour accéder aux commandes de shell de CA 3Tera AppLogic directement à partir de votre invite de commande locale.
Macros client pour les clients GNU Bash et OpenSSH qui permettent d'accéder facilement à toutes les fonctionnalités de 3tshell, l'interface de ligne de commande de CA 3Tera AppLogic, directement à partir de votre invite de shell locale.
Pour le téléchargement :
Pour utiliser ces macros sur votre système, tout ce dont vous avez besoin est GNU Bash 2.0 ou ultérieur et le programme client OpenSSH (ssh), version 3.9 ou supérieure. Téléchargez le fichier shell joint, enregistrez-le sur votre disque et incluez dans votre shell en utilisant la commande source (ou .) - vous pouvez l'inclure dans le fichier ".bashrc", pour qu'il soit disponible pour chaque instance de shell interactive que vous démarrez.
Une fois le fichier rmacros.sh chargé, les commandes suivantes deviennent disponibles à partir de l'invite de shell. Vous pouvez également utiliser les mêmes commandes dans un script non interactif en incluant simplement le fichier rmacros.sh de votre script avec la commande "source" :
Définit le nom d'hôte du contrôleur vers lequel diriger les commandes ultérieures. Cela doit être fait avant d'utiliser l'une des autres commandes.
Déconnecte du contrôleur. La session ssh maître avec le contrôleur est fermée.
Même résultat que de saisir la commande à l'invite de shell de CA 3Tera AppLogic. Cette forme est utile pour les commandes simples et pour des opérations de lot sans surveillance. Utilisez 3t -t pour les commandes qui exigent une interaction de l'utilisateur (par exemple, vol manage).
Idem 3t commande 3tshell quelconque, mais active le mode interactif, en exécutant le shell CA 3Tera AppLogic avec le pseudo-terminal ssh activé.
Appelle le shell CA 3Tera AppLogic interactif.
Définit l'application actuelle. Cette commande fonctionne de la même façon que la commande "ca" dans le shell interactif. L'exécution de 3t ca myapp ne fonctionne pas car une nouvelle instance du shell CA 3Tera AppLogic est démarrée chaque fois que la commande 3t est appelée.
Imprime le nom de l'application actuelle (comme défini par ca)
Ouvre un shell interactif dans une instance d'appliance en cours d'exécution dans l'application actuelle, ou dans l'application spécifiée. component est le nom complet de l'instance dans la hiérarchie d'applications. Le nom de l'assemblage de niveau supérieur (main.) peut être ignoré, par exemple, les propositions suivantes sont équivalentes :
assh the-app:main.web.srv1 ca the-app ; assh web.srv1
Exécute une commande non interactive sur une instance d'appliance. REMARQUE : sur les versions plus anciennes (1.x) de CA 3Tera AppLogic, le nom de commande et les arguments ne peuvent pas contenir d'espaces, au risque de ne pas fonctionner comme prévu :
assh web.srv1 cat "the file with spaces in its name".
Si vous devez effectuer cette procédure sur une grille plus ancienne, créez un script court et copiez-le dans l'appliance en cours d'exécution avec la commande ascp ci-dessous, puis lancez ce script.
Copie un fichier vers une appliance en cours d'exécution ou à partir de cette appliance. L'un des paramètres src ou dest doit être le nom d'un répertoire ou fichier local. L'autre spécifie l'appliance distante et le nom de fichier sous une forme similaire à celle de la commande scp :
comp.name:filename
Le nom du composant est le chemin complet du composant dans l'assemblage d'application (comme pour assh, le préfixe main. peut être ignoré). Cette commande exige que l'application actuelle soit définie avec la commande ca.
Raccourci. Idem 3t app list.
Raccourci. Idem 3t app start `pwa`.
Raccourci. Idem 3t app stop `pwa`.
Non pris en charge par CA 3Tera AppLogic 2.3 et versions ultérieures. Utilisez plutôt l'opération new vol manage.
Non pris en charge par CA 3Tera AppLogic 2.3 et versions ultérieures.
Configuration des options SSH personnalisées
Outre la façon normale de définir des options SSH (les placer dans votre fichier ~/.ssh/config), les commandes fournies par rmacros.sh acceptent également un paramètre de variable d'environnement avec des options qui affectent uniquement les appels ssh générés par les macros, mais pas par les autres commandes ssh. Cette option est utile si vous avez besoin d'une configuration différente pour les grilles CA 3Tera AppLogic et pour d'autres sessions ssh, et que la méthode per-host prise en charge par le fichier .ssh/config n'est pas appropriée pour séparer les différentes options. C'est notamment le cas lorsque vous disposez également d'un accès "responsable de la maintenance" à la grille CA 3Tera AppLogic (par exemple, si vous avez installé cette grille) : vous avez une clé SSH qui fournit un accès racine au contrôleur - pas ce qui doit fonctionner comme "client" normal.
Pour fournir d'autres options aux macros d'accès distantes dans rmacros.sh, définissez la variable AL_SSH_OPT. Elle doit contenir des options sous une forme acceptée par ssh et tous ses programmes similaires (scp, sftp, etc.) : -o OptionName=option-value. N'utilisez d'options raccourcies comme -i, -t, etc. - elles fonctionnent avec ssh, mais pas avec scp.
Exemple : export AL_SSH_OPT='-o IdentityFile=/home/lk/t-key -o IdentitiesOnly=yes -o StrictHostKeyChecking=no'
Cela indique à SSH : Utilisez la clé /home/lk/t-key pour l'authentification par clé publique ; n'utilisez pas de clés fournies par ssh-agent ; désactivez la vérification d'identité d'hôte stricte (utilisez cette dernière option uniquement s'il vous arrive fréquemment de réinstaller des grilles complètement, ce qui entraîne une modification permanente de l'ID SSH du contrôleur).
Accès rapide et facile avec la session SSH maître
Les fonctions définies dans rmacros.sh utilisent la fonctionnalité de session maître du client OpenSSH. La première commande exécutée démarre un client ssh d'arrière-plan en mode maître, et toutes les commandes ultérieures utilisent la session gérée par le maître pour exécuter des sessions ssh supplémentaires sur le même canal sécurisé.
Cela offre deux avantages : premièrement, la saisie d'une phrase secrète pour accéder à la clé privée SSH n'est nécessaire qu'une seule fois - par la suite, la session reste ouverte et aucune connexion supplémentaire n'est réalisée.
Deuxièmement, les nouveaux appels de ssh sont aussi rapides, sinon plus, que la saisie de commandes dans une session SSH déjà ouverte, car la commande est envoyée une fois, lorsque vous appuyez sur Entrée, tandis qu'une session interactive utilise un écho caractère par caractère à mesure que vous tapez la commande.
En outre, exécuter les commandes localement à partir de votre shell et non à partir de la console 3tshell permet de tirer pleinement parti du shell, pour créer des commandes qui ne sont pas possibles avec une session 3tshell interactive, par exemple :
Obtenir une liste des applications en cours d'exécution :
3t app list | grep running
Enregistrer la liste des volumes dans un fichier :
3t vol list --all >file
Transférer une configuration d'une application à un autre :
3t app config app1 --batch | 3t app config app2 --stdin
| Copyright © 2011 CA. Tous droits réservés. | Envoyer un courriel à CA Technologies sur cette rubrique |