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 et shell


Sujet :

Shell et commandes GNU

  1. #1
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut crontab et shell
    Bonjour à tous,

    J'ai besoin, pour un projet, de mettre à jour des tables SQL tous les jours du mardi au vendredi à 6h.

    J'ai donc fait une tache cron, qui s'exécute correctement.

    crontab
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 6 * * 2-5 sh /home/crash/shell/daily_update.sh
    daily_update.sh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    php -f maj_db.php > /home/user/shell/update-`date +%d-%m-%Y`.log
    mail -s "[cron] - Mise a jour DB" user@domain.com < /home/user/shell/update-`date +%d-%m-%Y`.log
    Le script PHP de mise à jour fonctionne très bien et n'est donc pas nécessaire.

    Ce qui ne va pas, c'est que le log ne se rempli pas. Il est correctement créé mais il est vide. Or, quand j'exécute daily_update.sh directement il n'y a pas de problème, le fichier se crée bien et contient les informations retournées par les echo du script PHP.

    J'avoue ne pas avoir d'idée pour le coup
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  2. #2
    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
    C'est tout à fait normal car ton fichier log ne se crée pas, tu as oublié (ou tu ne le savais pas), de protéger tes caractères "%" dans l'horodatage de ton fichier LOG. Ainsi bien sur quand ta ligne d'appel à mail



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [...].$(date +\%Y\%m\%d).log

  3. #3
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Merci d'avoir pris le temps de me répondre

    Mon fichier est bien créé. Avec ou son l'échappement des %.

    Comme je le dis, si j'exécute directement le script shell, le fichier se crée et est rempli.

    Si l'exécution vient de la tache cron, le fichier se crée mais ne se rempli pas.
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Rajoute les chemins complets de tes commandes "php" et "mail" dans ton script. La crontab n'a pas d'environnement par défaut.

  5. #5
    Rédacteur

    Avatar de Torgar
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2007
    Messages
    2 334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2007
    Messages : 2 334
    Par défaut
    Et hop ! Magie ! Ca marche !

    Bon bah je me coucherai moins bête ce soir. Il fallait bien rajouter les chemins.

    Au final :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    php -f /home/user/shell/maj_db.php > /home/user/shell/update-`(date +\%d-\%m-\%Y)`.log
    mail -s "[cron] - Mise a jour DB" user@domain.com < /home/user/shell/update-`(date +\%d-\%m-\%Y)`.log
    Je ne suis pas schizophrène, nous sommes unanime !!!

    ► Pensez à la balise code et au CODE HTML GENERE !!!!
    ► Au si c'est le cas et au à ceux qui vous ont aidé.
    Vous souhaitez participer aux rubriques CSS et (X)HTML ? Contactez-nous !

    Créer des colonnes de même hauteur en CSS
    Glossaire CSS
    Les bordures en CSS3
    Les transitions en CSS3

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

Discussions similaires

  1. [Shell] Redemarrage de serveur via crontab
    Par Lekno dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 21/03/2015, 17h03
  2. Crontab sous le shell ksh
    Par constant_op dans le forum Administration système
    Réponses: 2
    Dernier message: 06/09/2012, 10h14
  3. [SHELL] Problème d'exécution script avec Crontab
    Par Leeloo_Multiboot dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/06/2008, 16h59
  4. Programmation crontab avec script shell
    Par burhud dans le forum Linux
    Réponses: 3
    Dernier message: 05/12/2006, 14h46
  5. Shell Script dans crontab
    Par Deepc dans le forum Linux
    Réponses: 3
    Dernier message: 30/03/2006, 11h39

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