IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Shell et commandes GNU Discussion :

Ouvrir plusieurs terminaux terminator dans un script


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 160
    Points : 81
    Points
    81
    Par défaut Ouvrir plusieurs terminaux terminator dans un script
    Bonjour tous le monde ,
    J'ai crée un script avec ssh pass, dans une boucle for, il fonctionne bien, mais il lance tous les commandes ssh à la suite sur le même terminal, du coup, on ne peut pas vraiment suivre si les installations se passent bien. J'ai voulu utiliser terminator et malheureusement je n'arrive pas à lancer une commande dedans avec l'option e.

    Script original
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #!/bin/bash
    export SSHPASS="truc"
    set = SSHPASS
    echo -e "donner votre plage d'ip, ne donner que le dernier chiffre"
    echo -e "adresse de départ"
    read depart
    echo -e "adresse de fin "
    read fin
    for i in `seq $depart $fin ` ;
    do
    IP=192.168.1.$i
    sshpass -e ssh -t -t -o "StrictHostKeyChecking no" aip@192.168.1.$i "echo 'truc'| sudo -S apt-get install sshpass && sudo -S apt upgrade -y && sudo -S apt autoremove -y" &
    done
    ecran
    donner votre plage d'ip, ne donner que le dernier chiffre
    adresse de départ
    20
    adresse de fin
    21
    Lecture des listes de paquets... Faitip*: [sudo] Mot de passe de aip*:
    Lecture des listes de paquets... Faites… 0%
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    sshpass est déjà la version la plus récente (1.06-1).
    sshpass est déjà la version la plus récente (1.06-1).
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Lecture des listes de paquets... Fait
    Lecture des listes de paquets... Faites… 0%
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Calcul de la mise à jour... Fait
    Calcul de la mise à jour... Fait
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Lecture des listes de paquets... Fait
    Lecture des listes de paquets... Faites… 0%
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Connection to 192.168.1.21 closed.
    Connection to 192.168.1.20 closed.
    J'ai donc voulu ouvrir dans différents onglets de terminator les fenetres d'installation....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    #!/bin/bash
    export SSHPASS="truc"
    set = SSHPASS
    echo -e "donner votre plage d'ip, ne donner que le dernier chiffre"
    echo -e "adresse de départ"
    read depart
    echo -e "adresse de fin "
    read fin
    for i in `seq $depart $fin ` ;
    do
    IP=192.168.1.$i
    terminator --new-tab -T installation --command= "echo -e "192.168.1.$i"" &
    sshpass -e ssh -t -t -o "StrictHostKeyChecking no" aip@192.168.1.$i "echo 'truc'| sudo -S apt-get install sshpass && sudo -S apt upgrade -y && sudo -S apt autoremove -y" &
    done
    J'obtiens les erreurs suivante
    Usage: terminator [options]

    terminator: error: Additional unexpected arguments found: ['echo -e 192.168.1.20']
    Usage: terminator [options]

    terminator: error: Additional unexpected arguments found: ['echo -e 192.168.1.21']
    [sudo] MoLecture des listes de paquets... Faitse de aip*:
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Lecture des informations d'état... Fait
    sshpass est déjà la version la plus récente (1.06-1).
    sshpass est déjà la version la plus récente (1.06-1).
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Lecture des listes de paquets... Fait
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Calcul de la mise à jour... Fait
    Calcul de la mise à jour... Fait
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Lecture des listes de paquets... Fait
    Lecture des listes de paquets... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    Construction de l'arbre des dépendances
    Lecture des informations d'état... Fait
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
    Connection to 192.168.1.21 closed.
    Connection to 192.168.1.20 closed.
    Merci f'avance pour vos conseils

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    Bonjour

    concernant apt (comme tout autre gestionnaire de paquetages), il est préférable de faire un update puis un upgrade AVANT d'installer un paquet (de toute façon un uprgade sans update préalable n'as aucun effet).

    quant à ton souci, il vaut mieux ne pas mettre la connexion aux serveurs en arrière plan.
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 160
    Points : 81
    Points
    81
    Par défaut
    Bonjour,
    Merci pour le renseignement, c'était plus pour savoir avec une commande relativement longue à voir, si tous fonctionnait bien. Le soucis est plus de visuel car toutes les installations se lancent et au bout 5 ou 6 pc, on ne peut plus lire du tout. Je suis ouvert à d'autre solution j'avais pensé à terminator pour eviter d'avoir des fenêtres partouts.

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 552
    Points : 19 392
    Points
    19 392
    Par défaut
    la plupart des terminaux "intégrés" à un environnement graphique (gnome-term, konsole...) gèrent les onglets.

    tu pourrais rediriger la sortie vers des fichiers temporaires au nom des machines distantes, et les lire après opérations avec less; ça laisserait l'écran propre, avec la possibilité de les lire après la fin du script...
    .
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 160
    Points : 81
    Points
    81
    Par défaut
    bonjour,
    Merci pour ses précisions, je viens d'ajouter la commande dmesg à mon script

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #!/bin/bash
    export SSHPASS="truc"
    set = SSHPASS
    echo -e "donner votre plage d'ip, ne donner que le dernier chiffre"
    echo -e "adresse de départ"
    read depart
    echo -e "adresse de fin "
    read fin
    for i in `seq $depart $fin ` ;
    do
    IP=192.168.1.$i
     
    sshpass -e ssh -t -t -o "StrictHostKeyChecking no" aip@192.168.1.$i "echo 'truc'| sudo -S apt upgrade -y && sudo -S apt autoremove -y" dmesg >> 192_168_1_$i.txt &
    done
    Il m'écrit bien les informations, mais il me met à la fin du fichier les information suivante

    Lecture des listes de paquets… 0%
    [sudo] Mot de passe de aip*:
    Lecture des listes de paquets… 100%

    Lecture des listes de paquets... Fait



    Construction de l'arbre des dépendances… 0%

    Construction de l'arbre des dépendances… 0%

    Construction de l'arbre des dépendances… 50%

    Construction de l'arbre des dépendances… 50%

    Construction de l'arbre des dépendances



    Lecture des informations d'état… 0%

    Lecture des informations d'état… 0%

    Lecture des informations d'état... Fait



    Calcul de la mise à jour… 0%

    Calcul de la mise à jour… 10%

    Calcul de la mise à jour... Fait


    0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.

    Lecture des listes de paquets… 0%

    Lecture des listes de paquets… 100%

    Lecture des listes de paquets... Fait



    Construction de l'arbre des dépendances… 0%

    Construction de l'arbre des dépendances… 0%

    Construction de l'arbre des dépendances… 50%

    Construction de l'arbre des dépendances… 50%

    Construction de l'arbre des dépendances



    Lecture des informations d'état… 0%

    Lecture des informations d'état… 0%

    Lecture des informations d'état... Fait


    E: Impossible de trouver le paquet dmesg
    Une autre question, comment dans la commande less pour lire tous les fichiers de retour à la suite?
    Cordialement

  6. #6
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 459
    Points
    13 459
    Par défaut
    Bonjour

    Une autre question, comment dans la commande less pour lire tous les fichiers de retour à la suite?
    En les concaténant avant ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cat fichier1 fichier2 fichier3 | less
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    160
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 160
    Points : 81
    Points
    81
    Par défaut
    Bonjour Flodelarab
    Merci du renseignement
    Par contre, je pense que ca ne va pas convenir, car je fais de la coloration afin de voir les différentes parties de mes installations, du coup, ca devient quasiment inutile car illisible dans le fichier (en plus d'avoir des soucis de caracère accentué).
    Comme j'ai validé ma commande, je lance maintenant le script final que j'ai crée initaliement.
    Je pense réeesayer de le mettre dans des onglets de terminaux.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sshpass -e ssh -t -t -o "StrictHostKeyChecking no" aip@192.168.1.$i "echo 'tenta-tion:)'| sudo -S ./script_mignon_pour_pc_sympa.sh" &
    Pour mettre ma commande dans un terminal à chaque itération for, je dois mettre quoi comme commande, car je n'arrive pas à la rentrée.

Discussions similaires

  1. ouvrir plusieurs fichier texte dans une seule feuille
    Par popoye dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2008, 15h28
  2. Ouvrir plusieurs fichier textes dans un dossier : *texte.txt
    Par Jenn74 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/05/2007, 16h52
  3. Réponses: 28
    Dernier message: 22/05/2006, 16h25
  4. [HTML] Ouvrir plusieurs fichiers pdf dans une page
    Par PrinceMaster77 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 05/05/2006, 09h34
  5. [SQL] Traitement de plusieurs requêtes .SQL dans un script PHP?
    Par M4x dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 19/03/2006, 19h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo