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

Applications et environnements graphiques Discussion :

Execution de plusieurs script shell


Sujet :

Applications et environnements graphiques

  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut Execution de plusieurs script shell
    Bonjour,

    je me permet de solliciter votre aide car je rencontre un petit soucis.
    J'ai plusieurs scripts shell (de quelques uns à plusieurs dixaines). Je dois les éxecutés toutes les 5 minutes.

    J'ai donc créé une tâche cron ( */5 * * * * /var/update_* >/dev/null 2>&1 )
    Le problème est que c'est uniquement le premier script shell (dans l'ordre alaphabétique) qui est éxécuté . Comment faire pour que tous soient éxécutés?

    Merci par avance

    Archange

  2. #2
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    si tu veux tous les executer, pourquoi ne pas creer un script qui les appelle tous, et c'est ce script que tu mets dans ta tâche cron (je sais c'est un peu tordu )

  3. #3
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Merci de ta réponse rapide,

    J'ai déjà essayé cette solution avec un script shell du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    for i in ls update_*
    do
    sh $i
    done
    Le script fonctionnait bien (j'avais mis des echo dans les update_*) mais les bases qui dépendent des scripts update_* (des bases rrd) ne se mettaient pas à jour.

    Et là je suis dans une impasse. Mon patron va me descendre lol

  4. #4
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    tu veux dire que les scripts de mise a jour de tes bases se lancaient bien, mais tes bases n'etaient pas mises a jour?

    tu es sur de tes scripts?

  5. #5
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Alors oui et oui
    Les scripts se lançaient bien car j'avais des sorties écrans (les valeurs à insérer dans la base correspondantes) mais les bases n'étaient pas mises à jour.
    Pour les scripts je sais qu'ils fonctionnent car si je les lancent à la main, les bases se mettent bien à jour...

  6. #6
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    Du coup, je comprends pas du tout pourquoi ca marche pas... Et j'imagine que le truc bete qui consiste a appeler tous les scripts sans boucle mais "en dur" ne change rien. Si les scripts se lancent bien... je ne pensent pas que tes mises a jour s'annihilent non plus entre elles

    Et si tu rajoutent des sortes de "commit" a chaque passage dans la boucle ? (oui je suis desespere ) parce qu'avec ce systeme, ca attend la fin du script lance avant de lancer les suivants ?

  7. #7
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Bah en théorie oui il les lance un à un. De plus tous les scripts utilisent des bases différentes. Ton système de "commit" n'est pas faisable car les bases rrd (rrdtool) ne sont des bases SQL.

    Mettre tous les scripts à éxécutés en dur dans un .sh, c'est lourd car comme je l'ai précisé dans mon premier message, j'ai de quelques scripts à plusieurs dixaines. De plus ils sont gérés dynamiquement par une appli web qui soit en génére des nouveaux soit en efface des existants.

    Je t'avoue que moi aussi je séche...

  8. #8
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Ah peut-etre que j'ai trouvé ... Réponse dans environ 15 minutes (le temps que le cron se lance qq fois)


  9. #9
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    Citation Envoyé par ArChAnGe76
    Ton système de "commit" n'est pas faisable car les bases rrd (rrdtool) ne sont des bases SQL.
    Oui, je m'en doutais (je ne connais pas ces bdd).

    Citation Envoyé par ArChAnGe76
    Mettre tous les scripts à éxécutés en dur dans un .sh, c'est lourd car comme je l'ai précisé dans mon premier message, j'ai de quelques scripts à plusieurs dixaines. De plus ils sont gérés dynamiquement par une appli web qui soit en génére des nouveaux soit en efface des existants.
    Oui j'ai bien compris, mais c'etait dans une optique de test uniquement. Mais je ne pense pas que ca changerait quelque chose de toute facon.

  10. #10
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    Bah écoute là ca fait 2 tâches cron qui s'éxécute et les scripts sont bien éxécutés et les bases sont bien mises à jour

    J'ai utilisé un script comme cités plus haut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #!/bin/sh
     
    for i in /var/rrd/update_*
    do
    sh $i
    done
    Et bizarrement çà fonctionne... J'avais du faire une erreur la première fois

    Je te remercie de ton aide ^^

  11. #11
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    Ouf ca me rassure
    Juste par curiosite, ca marche avec le ls dans le script non (cf. ta 1ere version) ?

  12. #12
    Membre averti
    Étudiant
    Inscrit en
    Avril 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2005
    Messages : 30
    Par défaut
    euh le ls était une erreur de ma part ^^

    En effet le shell prend le ls comme une valeur de i. Donc il tente de faire "sh ls". Cela lève juste une erreur mais ne gene pas le reste de l'éxécution...

    Voilà si tu as une autre question hésite pas..

    Archange

  13. #13
    Membre expérimenté Avatar de Fango
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 197
    Par défaut
    Ok merci, ma curiosite est satisfaite

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [samba]execution d'un script shell sur une partition
    Par tntneo dans le forum Réseau
    Réponses: 1
    Dernier message: 15/04/2010, 10h44
  2. execution d'un script shell sous php
    Par cosam dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 09/10/2009, 12h57
  3. execution d'un script shell en java
    Par 01211983 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 10/07/2007, 16h46
  4. Execution d'un script shell depuis un code C
    Par aproust dans le forum C
    Réponses: 6
    Dernier message: 12/05/2006, 13h53
  5. Exécution d'un script shell
    Par Manu0086 dans le forum Linux
    Réponses: 8
    Dernier message: 15/06/2004, 16h31

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