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 POSIX Discussion :

comment éxécuter un script ?


Sujet :

Shell et commandes POSIX

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut comment éxécuter un script ?
    bonjour,


    je veux faire un script qui détecte la présence d'un fichier ou des fichiers dans un reperetoire REPER

    /osp/local/home/linus/REPER

    faire le script je sais le faire mais je ne sais pas comment faire éxecuter le script dès que il y a un ou plusieurs fichiers dans le reperetoire ?
    je serais très reconnaissant si on me donnait la réponse.

    sincères mercis
    lastmagik

  2. #2
    Membre chevronné
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2009
    Messages : 236
    Par défaut
    Salut,

    Pour te donner quelques éléments: tu peux lister le contenu du fichier régulièrement et tant que la liste est vide attendre, avant de recommencer.
    Si la liste est non vide alors tu lances ton script.

  3. #3
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut bonjour Malinaka
    bonjour Malinaka,

    est ce que tu pourrais donner un exemple pour que ce soit plus explicite et facile à comprendre ?

    sincères mercis
    lastmagik

  4. #4
    Membre actif
    jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Inscrit en
    Septembre 2010
    Messages
    74
    Détails du profil
    Informations professionnelles :
    Activité : jARdinaJ - ArTista - PeinturA - PoéZie - mUzICa
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2010
    Messages : 74
    Par défaut Rebonjour Malinaka
    Malinaka,

    je comprend ce que tu veux dire mais ma question est comment exécuter en permanence le script ?

    sincères mercis
    lastmagik

  5. #5
    Membre chevronné
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2009
    Messages
    236
    Détails du profil
    Informations personnelles :
    Sexe : Femme

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2009
    Messages : 236
    Par défaut
    J'aime pas donner des solutions prémachées mais en gros ta structure de lancement donnera quelque chose dans ce goût la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while true do
              n=ls "mondossier"
             if[ n -ge 1 ]  
             then
                   (appel de ton scritp)
             fi
             sleep 30 
    done

  6. #6
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par Malinaka Voir le message
    J'aime pas donner des solutions prémachées mais en gros ta structure de lancement donnera quelque chose dans ce goût la:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    while true do
              n=ls "mondossier"
             if[ n -ge 1 ]  
             then
                   (appel de ton scritp)
             fi
             sleep 30 
    done
    éviter de faire des ls dans une boucle en particulier pour compter les lignes !!!
    en plus là ça fait 2 scripts ce qui ne sert à rien du tout. à part à générer des problèmes ou erreurs dans l'avenir....en plus c'est chiant à maintenir ...

  7. #7
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    tu le lances en mode respawn dans l'inittab
    ce qui le fait donc tourner en boucle y compris si tu le kill ou si un process le kill, ou si il plante, etc...etc... et bien sur si la crontab est stoppée pour maintenance ou autre ça continue à tourner etc.... donc c'est la bonne solution pour ce genre de traitements qui attendent des fichiers en entrée...

    le script ressemble alors à ça

    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
    16
    #!/bin/sh
     
    sleep 10 # pour pas saturer le disque en terme d'accès pour pas ralentir ou figer la machine !!!!!! 
    #le temps à définir selon le rôle réel de la machine et le taux d'accès disque moyen etc....
     
    ta_fonction()
    {
         #test si le fichier est utilisé ou pas 
         # si il ne l'est pas c'est que l'enregistrement est terminé et tu peux traiter
              #traitements de tes fichiers
         # sinon il faut juste attendre l'itération suivante du script
    }
    if [ -f /osp/local/home/linus/REPER/* ] ; then 
    ta_fonction # traitement du/des fichier(s)
    fi
    exit 0

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/06/2011, 11h01
  2. Comment en double cliquant éxécuter un script (.m file)
    Par LordPeterPan2 dans le forum MATLAB
    Réponses: 6
    Dernier message: 01/09/2008, 08h47
  3. comment executer un script perl svp?
    Par nico72 dans le forum Langage
    Réponses: 8
    Dernier message: 13/07/2005, 09h51
  4. Petit prog pour éxécuter un script PHP
    Par Sub0 dans le forum Contribuez / Téléchargez Sources et Outils
    Réponses: 3
    Dernier message: 26/04/2005, 15h53
  5. [DEBUTANT]Comment executer un script sql
    Par peaceinpal dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/03/2004, 08h44

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