Toutes les commandes pouvant être exécutées à partir du shell CA AppLogic peuvent également être exécutées à partir d'un client distant via ssh.
Dans tous les exemples de syntaxe, controllerhost est le nom d'hôte du contrôleur CA AppLogic auquel on accède. Le client est supposé avoir configuré un agent SSH pour fournir les clés d'identité nécessaires pour l'autorisation d'accès ou une clé d'accès valide est supposée avoir été fournie à l'utilitaire SSH (par exemple., via une option de ligne de commande ou un fichier de configuration). Indépendamment de la méthode utilisée pour fournir les options d'accès, le client ne peut utiliser qu'une clé privée SSH2 (RSA ou DSA) et doit demander l'accès au contrôleur en tant que "root". La clé publique correspondante doit avoir été installée sur le contrôleur via l'interface Web ou par un autre utilisateur qui a accès au shell du contrôleur.
Si vous utilisez GNU bash comme shell, vous disposez d'un ensemble de fonctions de shell pour accéder aisément aux commandes CLI à partir de votre shell, soit de manière interactive soit dans un script. Voir Macros client.
ssh root@controllerhost entity command [args]
Exécute une commande shell 3 t unique (commande) sur le contrôleur
ssh root@controllerhost command entity [args]
comme ci-dessus, avec permutation des noms de commande et d'entité. Les deux variantes de syntaxe sont acceptées par le shell 3t.
Remarques :
ssh root@controllerhost 3t entity command [args] ssh root@controllerhost 3t command entity [args]
ssh root@controllerhost app config myapp .description=\'Some description with spaces in it\'
Voici des commandes distantes destinées aux scripts avancés et à l'implémentation d'interfaces de shell interactives ayant des codes client. Reportez-vous à Macros client pour un exemple de cette interface, implémentée pour le shell GNU bash.
ssh [-t] controllerhost sh [args]
Cette commande a la même fonction que la commande ssh dans l'interface CLI, mais est uniquement destinée à l'appel direct comme affiché ci-dessus et n'est pas accessible via l'invite de shell CA AppLogic interactive. Elle permet la configuration automatique du pseudo-terminal sur l'appliance cible, pour permettre une utilisation transparente des commandes interactives qui exigent un tty (par exemple, l'éditeur vi).
ssh controllerhost =appname command [args]
Il s'agit d'une variante de l'appel de commande non interactif normal décrit ci-dessus, qui fournit une "application active" pour la commande CLI CA AppLogic. Le résultat correspond à l'exécution des deux commandes suivantes à partir du shell interactif :
ca appname command [args]
Bien que chaque commande CLI spécifique prenant en charge "application active" permette aussi la spécification d'un nom d'application explicite, cette autre manière de fournir un nom d'application est utile pour les scripts clients qui ont leur propre notion d'"application active" et utilisent également une fonction commune pour appeler les commandes CA AppLogic distantes. De cette manière, la fonction qui appelle la commande distante proprement dite ne doit pas nécessairement connaître la syntaxe de commande ni même savoir si la commande spécifique considère une application comme un argument - elle place simplement le nom de l'application active comme premier mot dans la commande et laisse au shell distant CA AppLogic le soin d'appliquer ses propres règles pour utiliser "application active".
Voici un exemple simple (GNU bash), qui définit une fonction nommée "3 t", à utiliser pour appeler des commandes distantes :
function 3t() { ssh $CONTROLLER =$APP "$@" ; }
Grâce à cette fonction, il suffit de paramétrer l'hôte du contrôleur et l'application active et de commencer à utiliser des commandes distantes à partir du shell local en y ajoutant le préfixe 3 t, par exemple :
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
| Copyright © 2012 CA. Tous droits réservés. |
|