Aller au contenu principal

Shell Unix

Configuration actuelle de la tâche Unix Shell dans le Workflow Designer
  • Type de tâche: ssh

Description

La tâche Shell Unix est un composant d'administration système extrêmement polyvalent qui permet au Workflow d'exécuter des commandes sur un serveur distant ou sur la machine locale (mode Par défaut).

C'est un outil complet pour l'automatisation informatique, qui permet d'exécuter des scripts, de gérer des fichiers, de contrôler l'état des services, d'installer des paquets et d'effectuer toute autre opération disponible depuis une ligne de commande.

Configuration

La configuration de la tâche définit les détails de la connexion (le cas échéant) et la commande à exécuter. Les champs peuvent être valorisés manuellement ou via paramètres et variables du flux de travail.

Connexion au serveur

  • Mode de connexion: définit l'origine des identifiants et le type d'exécution. Il peut prendre trois modes opérationnels :
  • Par défaut: les commandes sont exécutées sur la machine locale, sans connexion SSH.
  • Manuel: permet d'entrer manuellement les paramètres de connexion.
  • Environnement: utilise un environnement de connexion préconfiguré. Dans ce mode, un menu est affiché qui liste les connexions disponibles en fonction du rôle associé au Workflow.
  • Autres champs (uniquement pour connexion distante) :
  • Adresse IP: adresse IP du serveur distant.
  • Nom d'hôte: nom d'hôte du serveur distant.
  • Utilisateur: nom d'utilisateur utilisé pour établir la connexion SSH.
  • Mot de passe: mot de passe associé à l'utilisateur de connexion.
  • Port: port utilisé pour la connexion SSH (la valeur par défaut est 22).

Exécuter la commande en tant qu'autre utilisateur

En activant cette case à cocher, il est possible d'exécuter la recherche avec un autre utilisateur que celui utilisé pour la connexion SSH.

  • Utilisateur: nom de l'utilisateur avec lequel la commande sera exécutée.
  • Mot de passe: mot de passe de l'utilisateur utilisé pour l'exécution de la commande.

Type de commande

Cette option permet de choisir le mode d'exécution de la tâche :

  • Connexion: dans ce mode, la tâche se limite à établir une connexion SSH avec le serveur distant pour vérifier qu'il est accessible et que les identifiants sont corrects. Elle n'exécute aucune commande. Il est utile comme première étape d'un Workflow pour s'assurer qu'un serveur est en ligne avant de procéder.
  • Commande: c'est un champ de texte où l'on peut entrer une ou plusieurs commandes shell à exécuter sur le serveur distant.

Paramètres de sortie

Une fois que le service externe a répondu à l'appel, la tâche expose les paramètres de sortie suivants, qui sont cruciaux pour traiter le résultat de la requête :

  • result: Contient la sortie standard (stdout) des commandes exécutées. Si les commandes produisent un résultat textuel, celui-ci sera capturé dans ce paramètre.
  • resultJson: représente le résultat de l'exécution de la tâche au format JSON, incluant des informations générales, des configurations et des détails sur l'exécution.
  • exitStatus: Retourne le code de sortie de la dernière commande exécutée. Une valeur de 0 indique typiquement une exécution réussie, tandis que des valeurs différentes de zéro signalent une erreur.

Exemple paramètre resultJson

{
"run_info": {
"status": "Completed",
"run_result": "Success"
},
"output_parameters": {
"exitStatus": "0"
}
}

Notes Importantes

  • L'utilisateur utilisé pour la connexion (ou l'utilisateur "run as") doit avoir les permissions nécessaires pour exécuter les commandes spécifiées.
  • Il est possible de concaténer plusieurs commandes en utilisant les opérateurs de la shell standard, tels que && (exécute la deuxième commande uniquement si la première a réussi) ou ; (exécute la deuxième commande indépendamment du résultat de la première).
  • La tâche établit une connexion SSH avec le serveur distant et exécute les commandes configurées. Si vous utilisez l'authentification via des clés SSH, il est nécessaire que la clé publique soit enregistrée sur le serveur distant. Si l'option "Exécuter la commande en tant qu'autre utilisateur" est activée, le contrôle est exécuté avec un utilisateur différent de celui de la connexion SSH principale.