Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Candidat au Club
    [Shell] Ouverture nouveau terminal - connection ssh - exécution script
    Bonjour,

    Je travaille sur un script afin d'automatiser la récupération d'info de configuration.

    A un moment dans ce script, je veux ouvrir un nouveau terminal, et dans ce terminal, je veux :
    - Ouvrir une connection ssh
    - Lancer ensuite un script python

    J'ai réussi à ouvrir un nouveau terminal avec la commande
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    xterm -e

    Je réussi à faire ma connexion, mais je ne sais pas comment faire pour lancer le script qui est présent sur la machine distante.
    J'ai essayé :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    xterm -e 'ssh localadmin@machine_distante;/tmp/monscript.py'&   # KO

    Je pense que ce que je veux faire est très simple, mais je ne vois pas comment faire.

    Je vous remercie d'avance pour tous les éclairages que vous pourriez m'apporter.

    Cordialement,

  2. #2
    Expert éminent sénior
    Bonjour

    Les premières idées :
    • Tu es en local pour lancer xterm. Donc ouvre simplement un xterm, et trouve la bonne commande pour lancer ton ssh avant de tout intégrer.
    • Il y a un point-virgule disgracieux en plein milieu de ta commande ssh
    • Si le script python a un shebang correctement indiqué en première ligne, il suffit que ton script ssh appelle ce script python.
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  3. #3
    Modérateur

    ce n'est pas que disgracieux, ça sépare l'exécution la commande ssh et celle du script python.

    et il faut un espace avant l'esperluette ( &).

    d'ailleurs, pourquoi veux-tu exécuter le script python dans un terminal, et en arrière-plan ?
    Cette signature n'a pas pu être affichée car elle comporte des erreurs.

  4. #4
    Expert éminent sénior
    Citation Envoyé par N_BaH Voir le message
    ça sépare l'exécution la commande ssh et celle du script python.
    C'est tout le problème. Le script python est distant. Je cite la phrase : "je ne sais pas comment faire pour lancer le script qui est présent sur la machine distante."
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  5. #5
    Candidat au Club
    Citation Envoyé par Flodelarab Voir le message
    Bonjour

    Les premières idées :
    • Tu es en local pour lancer xterm. Donc ouvre simplement un xterm, et trouve la bonne commande pour lancer ton ssh avant de tout intégrer.
    • Il y a un point-virgule disgracieux en plein milieu de ta commande ssh
    • Si le script python a un shebang correctement indiqué en première ligne, il suffit que ton script ssh appelle ce script python.
    Le point virgule je l'avais mis car je pensais qu'il me permettrait de pouvoir lancer les 2 commandes que je veux. Mais ce n'est pas le cas.

    Citation Envoyé par N_BaH Voir le message
    ce n'est pas que disgracieux, ça sépare l'exécution la commande ssh et celle du script python.

    et il faut un espace avant l'esperluette ( &).

    d'ailleurs, pourquoi veux-tu exécuter le script python dans un terminal, et en arrière-plan ?
    Alors, dans le terminal ou je lance mon script, je vais récupérer des fichiers de config. Le 2ème terminal ouvert doit lui lancer un outil de monitoring qui doit tout le temps rester ouvert.

###raw>template_hook.ano_emploi###