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

Linux Discussion :

Ma tache ne s'execute pas


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 17
    Points
    17
    Par défaut Ma tache ne s'execute pas
    Bonjour,

    j'essaye sous Ubuntu de lancer la tache suivante via un cron :
    sudo crontab -l :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    # m h  dom mon dow   command
    # Enregistrement de la video toutes les 15 minutes
    */5 * * * *  /usr/local/bin/Stream_Webcam >> /var/log/Stream_Webcam/log.txt
    pg /usr/local/bin/Stream_Webcam
    #!/bin/sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    echo "ok on démarre"
    /usr/bin/streamer -t 0:15 -s 640x480 -r 24 -o /tmp/movie.avi -f mjpeg -F stereo
    lav2wav +p /tmp/movie.avi | mp2enc -o /tmp/audio.mp2
    lav2yuv +p /tmp/movie.avi | mpeg2enc -o /tmp/video.m1v
    mplex /tmp/audio.mp2 /tmp/video.m1v -o /var/www/movie.mpg
    echo "OK on a terminé"
    Dans mon log, je retrouve bien les Ok on a démarré et on a terminé, mais le reste ne s'execute pas.

    ls -l /usr/local/bin/Stream_Webcam
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -rwxr-xr-x 1 root root 302 2008-08-04 00:37 /usr/local/bin/Stream_Webcam
    ls -l /usr/bin/streamer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -rwxr-xr-x 1 root root 86192 2008-01-02 11:41 /usr/bin/streamer
    Pourtant si je lance mon script directement il s'execute
    sudo /usr/local/bin/Stream_Webcam
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    ok on démarre
    avi / video: MJPEG (AVI) / audio: 16bit stereo (LE)
    rate: queueing frame twice (10)
    rate: queueing frame twice (11), a/v: +0.37s [18446735]  
    rate: queueing frame twice (16), a/v: +0.40s [18446734]  
    rate: queueing frame twice (19), a/v: +0.51s [18446731]  
    ...
    bref je ne comprend pas, ( je débute ).


    Merci d'avance pour votre aide.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Lorsque tu lances un jobs dans la crontab, il faut spécifier le chemin absolu pour toutes les commandes que tu utilises.

    sinon tu dois spécifier le path dans la crontab.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    echo "ok on démarre"
    /usr/bin/streamer -t 0:15 -s 640x480 -r 24 -o /tmp/movie.avi -f mjpeg -F stereo
    lav2wav +p /tmp/movie.avi | mp2enc -o /tmp/audio.mp2
    lav2yuv +p /tmp/movie.avi | mpeg2enc -o /tmp/video.m1v
    mplex /tmp/audio.mp2 /tmp/video.m1v -o /var/www/movie.mpg
    echo "OK on a terminé"
    Les commandes en rouge sont retrouvées dans PATH de ton shell courant (c'est pour cela que ça fonctionne quand executes le script manuellement) ce path n'est pas défini dans la crontab.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    Tu devrais également rediriger la sortie erreur standard. Dans ta commande tu ne redirige que la sortie standard vers ton fichier de log. Si bien que tu te prive d'un certain nombre de messages, qui pourraient te rendre de grands services...
    De plus certaines commandes réalisent toutes leurs sorties vers la sorties erreur standard - même s'il n'y a pas d'erreur.

    Pour cela, tu dois écrire ton cron comme ceci :
    */5 * * * * /usr/local/bin/Stream_Webcam >> /var/log/Stream_Webcam/log.txt 2>&1

    Dans cette commande, "2" représente la sortie erreur standard et "1" la sortie standard.

    Cela t'aurait permis de constater comme l'a indiqué Mygale1978 que tes commandes n'étaient pas trouvées. Tu aurais obtenue une sortie du type :
    /usr/local/bin/Stream_Webcam: line 3: lav2wav: command not found


    Cordialement,

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    merci beaucoup, tout va mieux maintenant

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

Discussions similaires

  1. Lsmod ne s'execute pas
    Par bmamine dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 25/11/2005, 16h45
  2. Mon getline ne s'execute pas.
    Par mail1789 dans le forum C++
    Réponses: 7
    Dernier message: 21/08/2005, 19h42
  3. help please[global.asa] il s'execute pas!
    Par thief dans le forum ASP
    Réponses: 6
    Dernier message: 24/03/2005, 13h10
  4. ShellExecuteEx ne s'execute pas à chaque fois??
    Par Gothico dans le forum MFC
    Réponses: 11
    Dernier message: 01/03/2005, 22h02
  5. [Kylix] Compilation OK Execution pas ok
    Par teurf dans le forum EDI
    Réponses: 14
    Dernier message: 03/12/2002, 15h10

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