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 :

erreur dans crontab


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Par défaut erreur dans crontab
    Bonjour,

    je rencontre un petit soucis avec une tâche cron qui est censé exécuter un script php.

    Le problème c'est qu'il y prend le nom de l'utilisateur pour la commande... pourtant j'ai vérifié plusieurs fois aucun champs ne manque.

    J'ai ainsi l'erreur suivante : /bin/sh: toto: not found

    où toto est l'utilisateur.

    La tache cron : 3 3 3 * wed toto php /home/toto/script.php

    Dois-je spécifier dans ma tache l'accès en chemin absolue à php? donc /usr/bin/php?
    Je ne sais pas si l'erreur peut venir de là...

    J'ai vu aussi sur le net qu'il était possible de mettre -u juste avant l'utilisateur mais je ne sais pas si je dois l'indiquer dans le fichier crontab?

    Pour info je modifie directement le fichier /etc/crontab

    Merci

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    La réaction de cron est tout à fait normale.
    Après 3 3 3 * wed il attends la commande a exécuter.
    et comme c'est toto qu'il trouve il tente d'exécuter une commande/script toto qu'il ne trouve pas.

    Le plus simple serait de modifier ta ligne de commande pour avoir quelque chose dans ce genre là (à vérifier).
    /usr/bin/php -u toto /home/toto/script.php ou d'intégrer directement dans ton script avec le shebang le user (mais jamais essayé donc je ne sais pas si ca marche).


    PS : toujours mettre les chemins absolus dans cron.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 110
    Par défaut
    Ok je vais tester ça alors merci pour ta réponse

    EDIT : dans l'entête du talbeau de mes taches crones, j'ai les champs suivants : # m h dom mon dow user command. Après le jour il attends logiquement le nom de l'utilisateur alors non? Dans ce cas-ci toto...

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 65
    Par défaut
    EDIT : dans l'entête du talbeau de mes taches crones, j'ai les champs suivants : # m h dom mon dow user command. Après le jour il attends logiquement le nom de l'utilisateur alors non? Dans ce cas-ci toto...
    je n'est pas tres bien compris ce que tu as voulut dire, mais ta crontab ce forme de la facon suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #minute (0-59)
    #heure (0-23)
    #jour du mois (1-31)
    #mois de l'annee (1-12)
    jour de la semaine (0-6 avec 0= a dimanche)
    #commande unix (le chemin absolu/suivis de ton script)
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    1,2,3   *   1-5   5     0    /home/toto/script/MonScriptToto.php
    #ce cron executera le script MonScriptToto.php
    # a la minute 1 2 et 3
    # sur toute les heures
    #du jour 1 a 5 (du mois voulut)
    #sur le mois de mai
    #un dimanche
    il te faut bien sur créer un fichier crontabScriptToto.txt (par exemple) contenant le code ci-dessus. Et ensuite tu utilise la commande crontab /chemin/crontabScriptToto.txt

    tu pourra ensuite verifier que la cron est active avec la commande crontab -l
    Et la ton script sera exécuter par ta cron

  5. #5
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Je viens de voir un truc.
    Tu veux que ce soit l'utilisateur toto du système qui lance une tache cron ?

    Si c'est bien cela tu te logue en tant que toto et tu édite la crontab de toto et non celle de root.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2009
    Messages
    65
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 65
    Par défaut
    Salut,

    Je viens de voir un truc.
    Tu veux que ce soit l'utilisateur toto du système qui lance une tache cron ?

    Si c'est bien cela tu te logue en tant que toto et tu édite la crontab de toto et non celle de root.
    je pense aussi que c'est la meilleur solution dans ce cas la.

    Car d'après le manual de crontab le parametre username peut optionellement servir pour lister , supprimer un cron etc..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SYNOPSIS
         crontab [ filename ]
    # exemple pour lancer une cron : crontab /home/toto/scriptAToto.php
         crontab [ -elr ]  username
    # exemple pour lister les cron : crontab -l  (ou crontab -l username )
    # exemple pour editer une cron : crontab -e username
    Mais après a tu acces au compte toto ??

Discussions similaires

  1. Erreur dans crontab
    Par higepiyo59 dans le forum Linux
    Réponses: 20
    Dernier message: 16/05/2012, 08h44
  2. [Tomcat] configuration d'une page d'erreur dans web.xml
    Par Super Castor dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 08/04/2009, 15h58
  3. [Lien]erreur dans mon programme python
    Par durnambule dans le forum Général Python
    Réponses: 11
    Dernier message: 29/01/2004, 14h59
  4. [Erreur dans la lib...]
    Par Gonath dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/12/2003, 09h02
  5. Erreur dans l'utilisation de SWAP
    Par mire dans le forum Langage
    Réponses: 12
    Dernier message: 15/03/2003, 21h39

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