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 :

crontab ne lance pas mon script


Sujet :

Shell et commandes GNU

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut crontab ne lance pas mon script
    Bonjour à tous !
    Je deviens dingue... c'est pas la 1ere fois que cron refuse de lancer mon script et à chaque fois c'est pareil... impossible de trouver la faille...
    mon script :
    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/bash
     
    # script de syncho SVN
     
    cd /mnt/backup2/svn
     
    for i in liste1 liste2
    do
            echo $i
            svnsync sync --username svnsync file://`pwd`/$i
    done
     
    touch /mnt/backup2/svn
     
    ---------------------------------------------------------------------
    mon /etc/crontab
    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
    17
    18
    19
    20
    21
     ---------------------------------------------------------------------
    # /etc/crontab: system-wide crontab
    # Unlike any other crontab you don't have to run the `crontab'
    # command to install the new version when you edit this file
    # and files in /etc/cron.d. These files also have username fields,
    # that none of the other crontabs do.
     
    SHELL=/bin/sh
    PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
     
    # m h dom mon dow user  command
    #17 *   * * *   root    cd / && run-parts --report /etc/cron.hourly
    #25 6   * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
    #47 6   * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
    #52 6   1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
    #
    00 2    * * 2-6 root    sh /usr/local/bin/backup_bdd.sh
    #05 2   * * 6   root    /usr/local/bin/backup-wbp
    * *     * * *   root    /usr/local/bin/svnsync.sh
     
    ---------------------------------------------------------------------
    pourtant quand je le lance manuellement il marche parfaitement...
    De plus j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     ---------------------------------------------------------------------
    root@backup:~# tail -f /var/log/syslog
    Jul 21 12:20:01 backup /USR/SBIN/CRON[19757]: (root) CMD (/usr/local/bin/svnsync.sh)
    Jul 21 12:21:01 backup /USR/SBIN/CRON[19778]: (root) CMD (/usr/local/bin/svnsync.sh)
    Jul 21 12:22:01 backup /USR/SBIN/CRON[19830]: (root) CMD (/usr/local/bin/svnsync.sh)
    Jul 21 12:23:01 backup /USR/SBIN/CRON[19850]: (root) CMD (/usr/local/bin/svnsync.sh)
    Jul 21 12:24:01 backup /USR/SBIN/CRON[19870]: (root) CMD (/usr/local/bin/svnsync.sh)
    Jul 21 12:25:01 backup /USR/SBIN/CRON[19890]: (root) CMD (/usr/local/bin/svnsync.sh)
     
    ---------------------------------------------------------------------
    ...
    incompréhensible....
    qq pour m'aider ?

  2. #2
    Membre expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Points : 3 284
    Points
    3 284
    Par défaut
    Question bete

    crond est il démarré?

    quand je lis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * * * * * root /usr/local/bin/svnsync.sh
    je déduis que ton script a des droits en exécution ?
    Autrement tu veux le lancer tous les combien? a un heure précise?
    tu peux avoir un peu d'info sur le fichier crontab ici
    http://www.linux-kheops.com/doc/man/...crontab.5.html


    Autrement ton shell est en bash et cron.d et cron semble utiliser sh

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

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnsync sync --username svnsync file://`pwd`/$i
    Quel est le chemin absolu de ta commande svnsync?

    Est-ce que ce chemin est bien défini dans la variable PATH mentionné dans ta crontab?

    Un moyen de voir ce qu'il se passe est de journalisé la sortie ainsi que les éventuelles erreurs de ton script svnsycn.sh dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * *     * * *   root    /usr/local/bin/svnsync.sh > /usr/local/bin/svnsync.log 2>&1

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    1/ cron lancé ? : oui (voir mon tail -f /var/log/syslog)

    2/ les droits du scripts ? :
    root@backup:~# ll /usr/local/bin/svnsync.sh
    -rwxr-xr-x 1 root root 381 2009-07-21 12:17 /usr/local/bin/svnsync.sh


    Citation Envoyé par jabbounet Voir le message
    Question bete

    crond est il démarré?

    quand je lis
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * * * * * root /usr/local/bin/svnsync.sh
    je déduis que ton script a des droits en exécution ?
    Autrement tu veux le lancer tous les combien? a un heure précise?
    tu peux avoir un peu d'info sur le fichier crontab ici
    http://www.linux-kheops.com/doc/man/...crontab.5.html


    Autrement ton shell est en bash et cron.d et cron semble utiliser sh

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    root@backup:~# which svnsync
    /usr/bin/svnsync
    root@backup:~# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin

    voilà

    Citation Envoyé par Mygale1978 Voir le message
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnsync sync --username svnsync file://`pwd`/$i
    Quel est le chemin absolu de ta commande svnsync?

    Est-ce que ce chemin est bien défini dans la variable PATH mentionné dans ta crontab?

    Un moyen de voir ce qu'il se passe est de journalisé la sortie ainsi que les éventuelles erreurs de ton script svnsycn.sh dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * *     * * *   root    /usr/local/bin/svnsync.sh > /usr/local/bin/svnsync.log 2>&1

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    Yes !! il se lance !
    J'ai changé le lien /bin/sh qui pointait vers /bin/dash vers /bin/bash et ça marche !... enfin il lance mon script mais du coup grace à la redirection du log j'ai pu voir ça...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Authentication realm: <svn://192.168.0.1:3690> xxx
    Password for 'svnsync': Authentication realm: <svn://192.168.0.1:3690> xxx
    Username: svnsync: Can't read stdin: End of file found
    le mot de passe doit être écrit dans le script ?
    alors que si je le lance manuellement il ne le reclame pas ? (déjà enregistré)

    Mrci en tout cas !

    Citation Envoyé par Mygale1978 Voir le message
    Salut,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    svnsync sync --username svnsync file://`pwd`/$i
    Quel est le chemin absolu de ta commande svnsync?

    Est-ce que ce chemin est bien défini dans la variable PATH mentionné dans ta crontab?

    Un moyen de voir ce qu'il se passe est de journalisé la sortie ainsi que les éventuelles erreurs de ton script svnsycn.sh dans un fichier.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    * *     * * *   root    /usr/local/bin/svnsync.sh > /usr/local/bin/svnsync.log 2>&1

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    allez HOP : --password
    et RESOLU !
    Encore MERCI

  8. #8
    Invité
    Invité(e)
    Par défaut
    Ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    root@backup:~# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
    Ceci est le PATH de ton shell interactif, je faisais référence à l'environnement de ta crontab qui peut être différent de celui de de ton shell interactif. Cependant le PATH vers /usr/bin est bien présent aussi.

    Peux-tu rediriger modifier ta crontab comme je te l'ai mentionné précédemment pour rediriger l'output et fournir le contenu du log?

    * * * * * root /usr/local/bin/svnsync.sh > /usr/local/bin/svnsync.log 2>&1

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 31
    Points : 19
    Points
    19
    Par défaut
    voir 2 posts au dessus

    Citation Envoyé par Mygale1978 Voir le message
    Ok

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    root@backup:~# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
    Ceci est le PATH de ton shell interactif, je faisais référence à l'environnement de ta crontab qui peut être différent de celui de de ton shell interactif. Cependant le PATH vers /usr/bin est bien présent aussi.

    Peux-tu rediriger modifier ta crontab comme je te l'ai mentionné précédemment pour rediriger l'output et fournir le contenu du log?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 28/02/2014, 09h11
  2. NetBeans ne lance pas mon projet JEE
    Par Fk_mt dans le forum NetBeans
    Réponses: 0
    Dernier message: 20/08/2013, 12h41
  3. [TACHE PLANIFIE] Ne lance pas le script VBS
    Par GarsDuCalvados dans le forum VBScript
    Réponses: 0
    Dernier message: 28/12/2011, 09h35
  4. Cron n'exécute pas mon script
    Par ShaGaTsoin dans le forum Administration système
    Réponses: 7
    Dernier message: 26/11/2008, 15h24
  5. L'évènement onclick ne lance pas mon script
    Par beegees dans le forum Général JavaScript
    Réponses: 19
    Dernier message: 02/10/2008, 11h49

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