Ressources · Intégration n8n

Nœud Execute Command n8nConfigurer Execute Command dans n8n.

Le bon outil est parfois déjà installé sur le serveur, pas derrière une API. Le nœud Execute Command n8n lance une commande shell sur la machine qui héberge n8n et récupère sa sortie comme donnée de workflow. Deux paramètres, rien à authentifier, une instance auto-hébergée.

Avis vérifiés sur Trustpilot · Agence IA, automatisation & growth

Pourquoi automatiser

À quoi sert vraiment le nœud Execute Command n8n ?

Une ligne de shell, tapée dans le panneau du nœud, s'exécute sur la machine hôte qui fait tourner n8n, et ce que la commande a affiché redescend dans le workflow comme donnée. Le shell employé est celui de l'hôte par défaut, cmd sous Windows, zsh sous macOS. Aucun workflow ne démarre avec lui : un Schedule Trigger ou un Webhook, c'est-à-dire une URL que n8n écoute, ouvre la marche.

Un point se règle avant tous les autres : ce nœud n'est pas disponible sur n8n Cloud. Il suppose une instance auto-hébergée, en Docker ou en npm, sur la Community Edition sous licence Sustainable Use. Depuis n8n 2.0 il arrive en plus désactivé par défaut, parce qu'ouvrir un shell depuis un workflow reste un risque réel sur une instance partagée avec des utilisateurs non maîtrisés. Savoir cela dès le départ évite de dessiner un workflow qui ne tournera jamais là où il devait tourner.

Cela posé, le premier usage est la maintenance d'exploitation. Purger un cache, relancer un service, compter des fichiers avant d'alerter l'équipe : les gestes qu'un administrateur tapait dans un terminal, rejoués à heure fixe derrière un planificateur. Plusieurs commandes tiennent dans un seul nœud, enchaînées par && ou écrites sur des lignes séparées dans le champ Command.

Le deuxième usage tient au rythme d'exécution. Un lot de fichiers arrive sous forme d'items, et le convertisseur doit passer une fois sur chacun, le nom du fichier venant de l'item par une expression du type {{ $json.field }}. Vient ensuite la commande de nettoyage, qui ne doit passer qu'une fois : Execute Once activé, le nœud ne s'exécute plus pour chaque entrée. Ce basculement résume la différence entre les deux paramètres du nœud.

Le troisième usage est l'archivage de nuit. Le planificateur se déclenche, le nœud lance la commande de sauvegarde de la base, un nœud suivant dépose le fichier ailleurs. Le nœud Postgres ne rendrait pas ce service : ce qu'on veut ici, c'est le binaire livré avec la base, pas une requête envoyée par une connexion applicative.

Il faut aussi savoir passer la main. Tout ce qui parle HTTP appartient au nœud HTTP Request, y compris les commandes curl qu'on tape par réflexe : curl n'est pas présent dans l'image Docker n8n, et l'y remettre suppose de construire sa propre image par-dessus l'officielle. Tout ce qui doit tourner ailleurs appartient au nœud Ssh, car celui-ci ne quitte jamais son hôte : sous Docker, la commande s'exécute dans le conteneur n8n et pas sur la machine en dessous, et en mode file d'attente elle tourne sur le worker qui a pris la tâche en production, les exécutions manuelles restant sur l'instance principale tant que OFFLOAD_MANUAL_EXECUTIONS_TO_WORKERS n'est pas à true. La Formation n8n part de ces bases.

Paramètres

Quels paramètres propose le nœud Execute Command ?

Le nœud Execute Command compte 2 paramètres. Pour chacun : le nœud tel que tu le configures dans n8n, ce que le paramètre change, et nos notes de terrain.

01

Execute Once

executeOnce

Ce que tu vois dans n8n

Notes & cas d'usage

Ce sélecteur décide du nombre de passages quand plusieurs items arrivent au nœud. Activé, la commande part une seule fois, quel que soit le nombre d'items reçus. Désactivé, elle part une fois par item, et c'est le comportement par défaut du nœud.

Paramètres clés

  • Execute Once : un interrupteur oui ou non, exécuter une seule fois au lieu d'une fois par entrée.
Cas d'usage
une requête remonte quarante lignes et tu veux une seule commande d'archivage à la fin, pas quarante. Active-le. Laisse-le inactif quand chaque ligne porte le nom de fichier sur lequel la commande doit agir.
02

Command

command

Ce que tu vois dans n8n

Notes & cas d'usage

La ligne transmise au shell. Seul champ requis du nœud : vide, il bloque l'exécution. Le texte d'aide montre la forme attendue, echo "test".

Paramètres clés

  • Command : texte, requis, la commande à exécuter. Injecte une valeur venue du nœud précédent avec une expression du type {{ $json.field }}, la syntaxe n8n pour lire un champ de l'item entrant.
Cas d'usage
enchaîner deux commandes en les reliant par &&, comme cd bin && ls, ou en écrivant chacune sur sa propre ligne. Deux pièges : sous Windows, une commande PowerShell à plusieurs lignes est coupée après la première ; et une commande trop bavarde échoue sur une erreur de dépassement du tampon stdout tant que sa sortie n'est pas filtrée.
Besoin d'aide

Besoin d'aide pour automatiser Execute Command avec n8n ?

L'équipe te répond directement.

Chaque message est lu par une personne.

FAQ

Execute Command dans n8n, les questions qui suivent

01Le nœud Execute Command n8n est-il inclus, sur Cloud comme en auto-hébergé ?
C'est un nœud core, livré avec n8n : aucune installation, aucun surcoût côté n8n. La nuance porte sur l'endroit où il tourne. Ce nœud n'est pas disponible sur n8n Cloud. Il faut une instance auto-hébergée, en Docker ou en npm, en Community Edition sous licence Sustainable Use. À prévoir aussi : depuis n8n 2.0, le nœud est désactivé par défaut, parce qu'un workflow capable d'ouvrir un shell devient dangereux dès que l'instance est partagée avec des utilisateurs non maîtrisés. Un administrateur doit le réautoriser sur l'instance avant qu'il ne s'exécute.
02Que faut-il configurer avant que le nœud fonctionne ?
Rien côté compte. Pas de credential à créer, autrement dit pas d'identifiants à enregistrer dans n8n, pas de sélecteur Authentication, pas de jeton à coller. C'est un des rares nœuds qu'on pose sur le canvas et qui part tout de suite. Ce qui compte, c'est l'hôte. La commande doit exister dans le PATH de l'utilisateur qui fait tourner n8n, et sous Docker elle doit exister dans le conteneur n8n, pas sur la machine en dessous. Quand elle manque, le shell renvoie une erreur de commande introuvable, et le bon réflexe est de la tester d'abord dans le conteneur en cours d'exécution.
03Quelles sont les limites du nœud Execute Command ?
C'est un petit nœud : version 1, deux paramètres, aucune collection d'options. Il agit sur son hôte et nulle part ailleurs, donc un serveur distant sort du périmètre. La sortie a un plafond, et une commande trop verbeuse déclenche une erreur de dépassement du tampon stdout, qu'on évite en limitant ou en filtrant ce qu'elle affiche. Sous Windows, une commande PowerShell multiligne perd tout ce qui suit le premier saut de ligne : il faut joindre les instructions par des points-virgules ou lancer un fichier de script. Enfin, le shell utilisé est celui de l'hôte, jamais un choix du panneau.
04Execute Command, HTTP Request ou Ssh, lequel choisir ?
Deux questions suffisent : quelle machine, et quel protocole. Si le travail doit se faire ailleurs que sur l'hôte n8n, prends Ssh, puisque Execute Command ne sort pas de sa machine. Si le travail est un appel HTTP, prends HTTP Request, même quand le réflexe est d'écrire une ligne de curl : curl est absent de l'image n8n officielle, et l'obtenir suppose de construire une image maison par-dessus. Execute Command garde tout son intérêt quand l'outil visé est un binaire ou un script déjà posé sur l'hôte n8n, sans aucune API devant lui.
05n8n ou Make pour lancer ce genre de script ?
Make est hébergé par son éditeur, sans option d'auto-hébergement, et facturé à l'opération. Ça tranche la question ici : sans machine hôte à toi, aucune commande shell n'a d'endroit où tourner. Lancer des commandes suppose de faire tourner sa propre instance, ce que n8n permet. Le vrai arbitrage est plus large que ce nœud : regarde où vivent les données, quelle part de la plateforme tu veux opérer toi-même, et si la facturation à l'opération ou ta propre facture de serveur colle mieux à ton volume. Make reste un bon éditeur visuel pour une équipe qui préfère ne pas gérer d'infrastructure.
Hack'celeration Lab

Reçois nos tips intégration chaque semaine.

Pas de spam. Désinscription à tout moment.