Passer au contenu principal

Action : Exécuter un shell sur un autre appareil

Run an inline shell script on a selected runner device while keeping the automation's original device context.

Introduction

Utilisez Exécuter un shell sur un autre appareil pour exécuter un script shell en ligne sur un appareil runner sélectionné plutôt que sur l'appareil qui traverse l'automatisation. Cela est utile lorsqu'une commande nécessite des outils, un accès réseau ou des ressources disponibles sur un appareil dédié.

L'automatisation conserve le contexte de l'appareil qui a initié le flux de travail. Les variables système, les champs personnalisés et les variables d'automatisation sont résolus à partir de cet appareil de flux de travail avant que le script shell ne s'exécute sur le runner.


Ajouter l'action

  1. Ouvrez l'automatisation et sélectionnez Modifier.

  2. Sélectionnez + à l'endroit où vous souhaitez ajouter l'action.

  3. Dans la Système catégorie, sélectionnez Exécuter un shell sur un autre appareil.

  4. Dans Appareil runner, recherchez et sélectionnez l'appareil qui exécutera le script shell.

  5. Sélectionnez le langage, le délai d'expiration et Exécuter en tant que contexte.

  6. Saisissez le script dans l'éditeur.

  7. Configurez les conditions et les options supplémentaires, puis sélectionnez Enregistrer.

Run shell on another device action picker and runner device configuration

Le runner fait partie de la configuration de l'action. Chaque appareil du flux de travail qui atteint cette action envoie son script shell rendu à ce runner sélectionné.


Contexte de l'appareil du flux de travail et de l'appareil runner

L'exécution à distance sépare l'appareil géré de l'appareil qui effectue le travail.

Contexte

Appareil utilisé

Conditions de déclenchement et d'action

Appareil du flux de travail

Variables système telles que {{ level_device_hostname }}

Appareil du flux de travail

Valeurs des champs personnalisés

Appareil du flux de travail

Variables d'automatisation

Exécution d'automatisation en cours pour l'appareil du flux de travail

Exécution du shell, système d'exploitation, outils installés et accès réseau

Appareil runner

Exécuter en tant que contexte utilisateur

Appareil runner

ℹ️ REMARQUE : Une référence telle que {{ level_device_hostname }} retourne le nom d'hôte de l'appareil du flux de travail, et non celui du runner. Utilisez le runner uniquement comme emplacement où le script shell s'exécute.

Exemple

Une automatisation s'exécute pour un poste de travail qui ne peut pas accéder directement à un système de gestion interne. Un serveur disposant des outils et de l'accès réseau requis est sélectionné comme runner. La commande s'exécute sur le serveur tandis qu'une variable telle que {{ level_device_hostname }} identifie toujours le poste de travail qui traverse l'automatisation.


Configurer le script shell

Choisissez le langage, le délai d'expiration et Exécuter en tant que contexte pour l'appareil runner, puis saisissez votre script dans l'éditeur. Insérez des variables système, des variables d'automatisation et des champs personnalisés à l'aide du sélecteur de variables. Level résout ces valeurs à partir de l'appareil du flux de travail avant d'envoyer le script au runner.

Voir Action Shell pour les détails sur le langage, l'éditeur, la sortie, le code de sortie, les conditions et les options supplémentaires qui s'appliquent également ici.

Configured Run shell on another device action showing the runner, language, Run as option, and script editor

Capturer la sortie

Utilisez Attribuer la sortie de l'action à une variable pour stocker la sortie standard du runner dans une variable d'automatisation. La valeur devient disponible pour les actions ultérieures dans l'exécution d'automatisation de l'appareil du flux de travail.


Disponibilité du runner et gestion des échecs

Le runner doit être disponible pour recevoir et exécuter l'action. S'il ne répond pas, Level effectue de nouvelles tentatives avant que l'action n'expire et soit marquée comme échouée. Le paramètre En cas d'échec de l'action, les paramètres de nouvelle tentative et de délai d'expiration déterminent ce que l'automatisation fait ensuite.

Le code de sortie du script shell est évalué à partir de son exécution sur le runner :

Code de sortie

Résultat

0

Action marquée comme réussie

Différent de zéro

Action marquée comme échouée


Utilisation de l'appareil runner

Level enregistre lorsqu'un appareil est utilisé comme runner d'automatisation. Un runner référencé par une automatisation active ne peut pas être supprimé tant que vous n'avez pas supprimé ou remplacé cette utilisation dans l'automatisation.

⚠️ AVERTISSEMENT : Avant de modifier ou de supprimer un runner, examinez chaque automatisation qui l'utilise. Ces automatisations dépendent de la disponibilité du runner, de ses outils, de son système d'exploitation et de son accès réseau.


FAQ

  • Le script shell s'exécute-t-il sur les deux appareils ? Non. Le runner exécute le script. L'appareil du flux de travail fournit le contexte d'automatisation et les valeurs des variables.

  • Quel appareil les variables système décrivent-elles ? Elles décrivent l'appareil du flux de travail qui traverse l'automatisation.

  • Quel système d'exploitation et quel contexte utilisateur s'appliquent ? Le système d'exploitation de l'appareil runner et le paramètre Exécuter en tant que paramètre sélectionné pour l'action.

  • Où la sortie capturée est-elle stockée ? Elle est stockée dans l'exécution d'automatisation de l'appareil du flux de travail et peut être utilisée par les actions ultérieures.

  • Pourquoi ne puis-je pas supprimer l'appareil runner ? Une automatisation active y fait toujours référence. Ouvrez l'utilisation de l'automatisation de l'appareil, puis supprimez ou remplacez le runner dans ces automatisations.

Pour les détails sur les variables, voir Variables système et Variables d'automatisation.

Avez-vous trouvé la réponse à votre question ?