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 :

[Screen] - Automatiser session


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut [Screen] - Automatiser session
    Bonjour à tous,

    je voudrais savoir si la chose suivante est possible: j'utilise une base de données olap qui logge des informations dans 4 fichiers différents. Donc à chaque fois que je travaille il faut que j'ouvre les 4 fichiers en faisant "tail -f fichier". J'utilise une session screen pour que ce soit plus facile de naviguer entre les fichiers

    Je voudrais savoir s'il est possible de créer un script qui me lancerait une session screen par exemple "logs", créerait 4 fenêtres dans cette session, et dans chacune il exécuterait la commande "tail -f" pour chaque fichier ?

    je ne sais pas trop si je suis clair ?

    d'avance merci !

  2. #2
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut
    Hello,

    j'aurais dû essayer quelque chose avant de poster...

    du coup j'ai essayé ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/bash
    screen -S palologs
    screen -S palologs -p 0 -X exec tail -f /opt/jedox/ps/log/olap_server.log
    screen -S palologs -p 1 -X exec tail -f /opt/jedox/ps/log/core.log
    il me crée bien la session screen, mais avec une seule fenêtre, et il n'exécute pas le tail dans cette unique fenêtre...

    que faut-il lui donner à bouffer pour que ca fonctionne ?

    d'avance merci !

  3. #3
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Je n'ai pas screen, mais si c'est comme "xterm", ça ne rend pas la main!
    Il faut donc les lancer en background jobs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #!/bin/bash
    screen -S palologs &
    screen -S palologs -p 0 -X exec tail -f /opt/jedox/ps/log/olap_server.log &
    screen -S palologs -p 1 -X exec tail -f /opt/jedox/ps/log/core.log &
    à tester...
    HTH
    )jack(

  4. #4
    Membre éclairé Avatar de laloune
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2005
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2005
    Messages : 487
    Par défaut
    Hello jack-tt,

    merci pour ta réponse,

    il me renvoie:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Must be connected to a terminal.
    No screen session found.
    No screen session found.
    une idée ?

    EDIT: je viens de comprendre. j'ai exécuté la première ligne (sans le "&"), ca fonctionne bien. Pour en sortir j'ai fait "Ctrl-A => d", et la réponse m'a sauté aux yeux: pour ajouter une fenêtre à un screen, il faut l'appeler non pas par le nom de la session, mais par son id . nomsession.

    reste plus qu'à trouver un moyen de récupérer cet id dans le script

    EDIT2: en fait c'était pas sorcier pour trouver l'id du screen (à amélioerer cependant):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    screenlist=`ls /var/run/screen/S-plo/`
    id=`echo $screenlist | cut -d'.' -f 1`
    screenid=$id.palologs
    par contre comme tu me l'a dit, il ne rend pas la main, du coup j'ai l'impression qu'il n'arrive pas à me créer les fenêtres suivantes...

    à suivre (pour l'EDIT3 :-))

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Tiens la dernière discussion de ce billet, devrait t'aider à faire ce que tu veux

Discussions similaires

  1. [Batch] Automatiser session telnet
    Par smx71 dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 07/09/2013, 11h50
  2. Réponses: 5
    Dernier message: 01/03/2011, 13h31
  3. automatiser une fin de session
    Par mike_chti dans le forum Langage
    Réponses: 5
    Dernier message: 13/10/2008, 15h26
  4. Automatiser kill session
    Par Darkcristal dans le forum PL/SQL
    Réponses: 1
    Dernier message: 22/07/2008, 10h44
  5. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 09h24

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