Question

Je veux exécuter une commande sur plusieurs machines utilisant ssh. Je sais que cela peut être fait en utilisant simplement la commande "commande ssh utilisateur @ nomhôte". Cependant, la commande que je veux exécuter affiche une chaîne sur la console. Est-il possible d'envoyer toutes les chaînes à la console sur laquelle je suis?

Était-ce utile?

La solution

Vous pouvez exécuter les commandes dans un écran :

screen -S test
ssh user@hostname command1
ssh user@hostname2 command2

Vous pouvez ensuite détacher (Ctrl-D) de l’écran, le laisser courir aussi longtemps que vous le ferez, puis le reconnecter (test-écran) à l’écran et voir toutes les sorties. Cela suppose que vous n'aurez pas une tonne de sortie des commandes, cependant. Voici un lien vers un didacticiel à l'écran .

Autres conseils

 ssh user@hostname command 

Ne fait que ça. Si 'commande' affiche quelque chose, il apparaîtra sur le terminal sur lequel vous avez exécuté ssh. Essayez par exemple utilisateur ssh @ nomhôte ls -l

Mais comme d’autres l’ont dit, l’écran GNU est inestimable pour ce type de travail.

Vous voudrez probablement utiliser Écran Gnu pour cela. Vous pouvez démarrer un processus de manière "virtuelle". terminal, "détachez" Connectez-vous au terminal et déconnectez-vous aussi longtemps que vous le souhaitez ... Ensuite, vous pouvez revenir en arrière et réattacher le terminal pour voir la sortie de la console.

Regardez également nohup , par exemple:

ssh utilisateur@domaine.fr nohup script_that_outputs_strings.py > the_strings.txt

Ensuite, si vous souhaitez revenir en arrière et surveiller la progression, vous pouvez vérifier et tail le fichier ou scp la sortie sur votre ordinateur local.

Pourquoi ne vous renvoyez-vous pas un email? Ou utilisez un fichier journal et envoyez-le à votre ordinateur actuel? sinon, je ne sais pas!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top