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

Administration système Discussion :

cron:lance un script dès la reception d'un fichier


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Par défaut cron:lance un script dès la reception d'un fichier
    Salut tout-le monde,

    J’ai développé un script qui analyse et traite des données à partir d’un fichier texte.
    Ma question est la suivante : comment, dés réception d'un fichier, lancer sur mon serveur le script qui traite de ce fichier.

    Cdt

  2. #2
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Si ton nom de fichier est connu, une solution consiste à vérifier régulièrement la présence de ce fichier et de lancer le traitement lorsque la condition est vérifiée.

  3. #3
    Membre éclairé Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Par défaut
    oui,
    mais est-ce possible de déclencher automatiquement l'exécution du script après la réception du fichier.

  4. #4
    Membre chevronné Avatar de Leeloo_Multiboot
    Profil pro
    Administrateur Unix/Linux
    Inscrit en
    Avril 2008
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur Unix/Linux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2008
    Messages : 417
    Par défaut
    Coucou,

    oui,
    mais est-ce possible de déclencher automatiquement l'exécution du script après la réception du fichier.
    Ben:

    Si ton nom de fichier est connu, une solution consiste à vérifier régulièrement la présence de ce fichier et de lancer le traitement lorsque la condition est vérifiée.
    Tu crées un script exécutable que tu lances à l'aide de crontab régulièrement (à toi de définir), puis dans ton script tu testes si le fichier est présent.
    Auquel cas tu poursuis ton traitement. Sinon ton script passe.

    Ex:

    if [ -e /dossier/fichier ]; then
    traitement ...
    else
    echo "On fait rien"
    fi

  5. #5
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Citation Envoyé par hammag Voir le message
    oui,
    mais est-ce possible de déclencher automatiquement l'exécution du script après la réception du fichier.
    Si tu as envie de te frotter aux "nouvelles technologies", tu peux regarder du côté de upstart.

    C'est un remplaçant de initd. Il est destiné à remplacer cron et compagnie. Il peut déclencher des actions sur des évènements (par exemple lancer les services réseau lorsque le fil réseau est branché...). Donc, solution à étudier...

  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 hammag Voir le message
    Salut tout-le monde,

    J’ai développé un script qui analyse et traite des données à partir d’un fichier texte.
    Ma question est la suivante : comment, dés réception d'un fichier, lancer sur mon serveur le script qui traite de ce fichier.

    Cdt


    il y a une chose a verifier que le fichier soit fini de recevoir !!!!! pour pas le traiter qu'a moitie par exemple
    donc la solution (en fait y'en a deux)

    1- soit a la source un fichier vide FICHIER_TOP est envoye apres le fichier de donnees
    et le recepteur testes la precence du fichierTOP pour traiter le fichier de donnees
    (a faire quand on ne connais pas a l'avance la taille du fichier de donnee ni son contenu)

    2-soit on envoi le fichier de donnee
    et on verifies sa taille ou son contenu avant de declancher sont traitement

    cote recepteur maintenant :

    pour declancher une tache uniquement quand on a des fichiers a traiter le plus simple
    est de verifier toutes les X minutes si il y a un fichier ou non (crontab) et traiter si ily en a

    l'autre solution plus propre
    c'est d'utiliser l'inittab avec un respawn (programme relance automatiquement si il se termine ou est tue) il suffit alors d'ajouter un sleep 1 a 4Milliard dans le script pour ne pas saturer la machine
    (un sleep de 4milliard ca fait pas genre 130ans ca ?)


    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #!/bin/ksh
    [ -f /rep/toto.top ] && grep -i "tutu" toto > /rep/sousrep/resultat
    sleep 600
    exit

    et dans l'inittab :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    #I0:2345:respawn:/rep/script parametres
    ne pas oublier de faire un init q apres toute modif de l'inittab

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2010, 13h58
  2. lancé un script PHP à partir d'un trigger
    Par stetou dans le forum Requêtes
    Réponses: 0
    Dernier message: 29/03/2010, 22h10
  3. Réponses: 0
    Dernier message: 31/10/2008, 10h53
  4. Cron: executer un script php avec framework
    Par thibaut06 dans le forum Administration système
    Réponses: 2
    Dernier message: 01/05/2008, 14h55
  5. Réponses: 10
    Dernier message: 06/03/2007, 11h07

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