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 :

Cron et rtcwake


Sujet :

Shell et commandes GNU

  1. #1
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut Cron et rtcwake
    Bonjour,

    J'ai mis place le cron suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    59 8	* * *	root	/root/rootcommand.sh  >> /root/rootcommand.log
    0 9	* * *	user	/home/user/usercommand.sh  >> /home/user/usercommand.log
    (rootcommand.sh contient la commande rtcwake -m no -s 86340 qui réveille le système 24 heures – 1 minute plus tard)

    La boucle fonctionne car rootcommand.log contient bien un enregistrement tous les jours à 8h58, mais le shell usercommand.sh ne s'exécute pas systématiquement.
    Les droits sont bons car si je lance /home/user/usercommand.sh en ligne de commande sous user, le shell s'exécute.
    Je n'arrive donc pas à comprendre pourquoi, alors que le système se réveille tous les jours à 8h58 et traite correctement le shell rootcommand.sh à 8h59, il ne traite pourtant pas tous les jours le shell usercommand.sh programmé à 9h00.

    Merci d'avance pour toute aide
    Philippe

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    J'ai mis place le cron suivant :
    quelle méthode as-tu suivi ?
    il ne traite pourtant pas tous les jours le shell
    y a-t-il une régularité à cette non-exécution, ou bien est-ce aléatoire ?

    que contient usercommand.sh ?
    tu as regardé les logs système ? peut-être y-t-il une indication d'un mauvais fonctionnement du script ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Pour l'instant, l'anomalie me semble irrégulière.
    usercommand.sh lance un transfert SFTP qui marche très bien en ligne de commande et, aléatoirement, via le cron.

    Lorsque usercommand.sh ne s'éxécute pas, rien n'est ajouté à usercommand.log

    tu as regardé les logs système ? peut-être y-t-il une indication d'un mauvais fonctionnement du script ?
    où me conseilles-tu de regarder ?

    Merci

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    dans /var/log/syslog
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Merci,

    Je suis allé voir dans /var/log/syslog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    59 8	* * *	root	/root/rootcommand.sh  >> /root/rootcommand.log
    Fonctionne bien :

    Nov 13 08:59:01 machine CRON[5888]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 9	* * *	user	/home/user/usercommand.sh  >> /home/user/usercommand.log
    Ne fonctionne pas :

    Nov 13 09:00:01 machine cron[959]: Signature not found in user keyring
    Nov 13 09:00:01 machine cron[959]: Perhaps try the interactive 'ecryptfs-mount-private'
    Nov 13 09:00:01 machine CRON[5893]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log)
    Nov 13 09:00:01 machine CRON[5891]: (CRON) info (No MTA installed, discarding output)

    J'avoue que je ne comprends pas ce qui coince avec Signature not found in user keyring

    Philippe

  6. #6
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    et si tu supprimes la ligne de user, pour la mettre dans la crontab utilisateur avec la commande crontab -u user -e ?

    PS: n'oublie pas que lorsque tu édites la crontab de cette manière, le nom de l'utilisateur ne doit pas être indiqué, et que le redémarrage de crond est inutile.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  7. #7
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Bonjour,

    Tu vois, ce matin les deux shell ont fonctionné (et je n'ai pour l'instant rien modifé).

    Nov 14 08:59:01 machine CRON[7494]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)
    Nov 14 09:00:01 machine CRON[7499]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log)


    C'est vraiment étrange.

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    un démarrage/réveil de services plus long, de temps à autre, qui empêcherait le contact avec le serveur ? lui aussi se réveille au même moment ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  9. #9
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Il se réveille à 08:58:00

    A 08:59:00, il exécute le shell lui demandant de se réveiller le lendemain à 08:58:00

    Cette boucle fonctionne sans problème tous les jours.

    Il est donc bien reveillé à 08:59:00

    Mais le shell de 09:00:00, il l'exécute de façon irrégulière.

  10. #10
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Cette boucle fonctionne sans problème tous les jours.
    quelle boucle ?

    Il est donc bien reveillé à 08:59:00
    une minute, c'est parfois un peu juste.
    un serveur peut effectuer des tâches qui prennent plus ou moins de temps (ça dépend de l'âge du capitaine ) avant que le démarrage d'un service soit totalement terminé.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  11. #11
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Tu as raison, le mot boucle est mal choisi.

    Je voulais dire que le renouvellement quotidien de la commande de réveil fontionne bien : chaque jour à 8:59:00 il lance un réveil pour 8:58:00 le lendemain etc. etc.

    Ce matin, comme hier matin, le shell de 9:00:00 a bien fonctionné.

    Je vais voir à partir de quel jour il ne fonctionnera pas.

    Bonne journée,

  12. #12
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Salut

    Avant hier : NICKEL
    Nov 14 08:59:01 machine CRON[7494]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)
    Nov 14 09:00:01 machine CRON[7499]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log)

    Hier : IDEM

    Ce matin : le problème régulier revient
    Nov 16 03:59:01 machine CRON[9746]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)
    Nov 16 04:00:01 machine cron[959]: Signature not found in user keyring
    Nov 16 04:00:01 machine cron[959]: Perhaps try the interactive 'ecryptfs-mount-private'
    Nov 16 04:00:01 machine CRON[9751]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log)
    Nov 16 04:00:01 machine CRON[9749]: (CRON) info (No MTA installed, discarding output)

  13. #13
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Par défaut
    Tu pourrais envisager de rajouter du timeout dans les commandes qui constituent ton script.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  14. #14
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Nov 16 04:00:01 machine CRON[9749]: (CRON) info (No MTA installed, discarding output)
    ça, ça signifie que le script à quelque chose à dire, mais que cron ne peut pas te le transmettre par mail.
    il faut donc rediriger les sorties (stdout et stderr) du script vers un fichier log pour savoir ce qu'il a à dire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    0 9	* * *	user	/home/user/usercommand.sh  >> /home/user/usercommand.log 2>&1
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  15. #15
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    En fait, dans mon cron, j'ai déjà /home/user/usercommand.log 2>&1
    Et le jour où le cron ne se lance pas, rien n'est écrit dans usercommand.log

    Pour le timeout, pourquoi et comment l'utiliser ?

    Les premières lignes du shell sont :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
    DATE=$(date +'%Y%m%d_%H%M')
    echo $DATE
    Si le cron lançait le shell, je devrais avoir au moins cette ligne écrite dans usercommand.log

    Et aujourd'hui, rien : le fichier est d'ailleurs toujours daté d'hier à 09:00:25

  16. #16
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    c'est toi qui a décalé l'heure d'exécution ? cron a tenté d'exécuter le script à 4 heures ce matin.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  17. #17
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    oui, je l'ai avancé de 5 heures pour voir ce que donne la procédure à un autre horaire

  18. #18
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Hier : problème

    Nov 16 03:59:01 machine CRON[9746]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)
    Nov 16 04:00:01 machine cron[959]: Signature not found in user keyring
    Nov 16 04:00:01 machine cron[959]: Perhaps try the interactive 'ecryptfs-mount-private'
    Nov 16 04:00:01 machine CRON[9751]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log 2>&1)
    Nov 16 04:00:01 machine CRON[9749]: (CRON) info (No MTA installed, discarding output)

    J'ai laissé l'horaire matinal.

    Ce matin : nickel
    Nov 17 03:59:01 machine CRON[11629]: (root) CMD (/root/rootcommand.sh >> /root/rootcommand.log)
    Nov 17 04:00:01 machine CRON[11634]: (user) CMD (/home/user/usercommand.sh >> /home/user/usercommand.log 2>&1)

    Difficile pour moi de comprendre...

  19. #19
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Difficile pour moi de comprendre...
    alors, imagine pour nous, qui ne sommes pas sur ta machine, et qui ne connaissons pas ton script !
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  20. #20
    Pgs
    Pgs est déconnecté
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    482
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 482
    Par défaut
    Tu as raison !

    Mais tu m'a déjà donné un bonne piste en m'orientant vers /var/log/syslog

    Je continue mes observations.

    Merci encore.

    Philippe

Discussions similaires

  1. Cron + PHP
    Par messier79 dans le forum Administration système
    Réponses: 3
    Dernier message: 13/10/2004, 02h24
  2. Cron - tâche plannifiée
    Par phoebe dans le forum Administration système
    Réponses: 8
    Dernier message: 28/05/2004, 15h27
  3. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19
  4. Cron + terminal + script shell
    Par nicolas.pissard dans le forum Linux
    Réponses: 3
    Dernier message: 17/03/2004, 09h24

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