Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme de tache cron ubuntu

Sujet résolu
    4 juin 2022 à 0:41:03

    Bonjour,

    Voila, j'ai voulu crée une tache cron dans mon dossier crontab (je suis sur Ubuntu 20.04), donc le fichier que je veux exécuter marche bien, et enfaite une variante de ma tache cron marche également, donc voila la tache cron que je veux faire :

    35 00 * * * python3 /home/utilisateur/mondossier.py

    mais il ne marche pas enfin, enfaite c'est un test, et il a pour but de crée 5 données dans une bdd de phpmyadmin, malheureusement aucune ne se crées.

    A l'inverse quand je fais la variante de ma tache cron :

    * * * * * python3 /home/utilisateur/mondossier.py

    Mes données sont bien crées, donc je fais une erreur quelque part, ou il me manque un morceau du puzzle, mais je ne comprends pas mon erreur. Pourquoi l'un marche et pas l'autre ?

    Quelqu'un aurait une idée ?


    -
    Edité par LoïsCoursaut1 4 juin 2022 à 0:42:03

    • Partager sur Facebook
    • Partager sur Twitter
      4 juin 2022 à 2:07:40

      salut,

      comment traduirais-tu la première tâche cron ?

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        4 juin 2022 à 10:04:25

        Merci pour la réponse,

        Je voulais tester la tâche cron en réalité, donc comme il était 00h32 , je voulais la tester pour 00h35.

        Je la traduirai par tout les jours à 00h35 exécuter avec la commande python3 le fichier mondossier.py.

        Et le deuxième exemple ca serait d'exécuter toutes les minutes le fichier mondossier.py avec la commande python3. 

        C'est bien ça ?

        • Partager sur Facebook
        • Partager sur Twitter
          4 juin 2022 à 10:19:09

          oui, c'est bien ça.

          il y a quelque chose dans ton script qui pourrait l'empêcher de s'exécuter à cette heure là ? tous les services nécessaires sont actifs ?

          rediriges la sortie d'erreur du script, sur la ligne cron, vers un fichier log sous /tmp, ça nous en dira peut-être davantage...

          -
          Edité par dantonq 4 juin 2022 à 10:19:38

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

            4 juin 2022 à 11:51:05

            Hmm je vois pas vraiment, j'ai modif les droits d'accès pour mes scripts python à lancer (si jamais c'était ca), j'arrive à l'activer sans crontab (avec la commande python3 mondoss..) et j'arrive meme à le faire avec la commande * * * * * python3 mondossier.py, donc je pense que tout les services nécessaires sont actifs.

            Alors j'ai cherché des tutos pour rediriger la sortie d'erreur du script, mais je n'ai pas vraiment compris comment faire, je dois crée un fichier fichier.log sous /tmp puis modifier ma tache cron pour qu'elle renvoie vers mon fichier crée ? Mais mon fichier.log doit être juste crée (vide ?) ou je dois mettre des choses dedans ?

            Et la commande pour renvoyer une sortie, j'en ai trouvé plein de différente du style : ma commande cron > fichier.log 

            Ou à des moments ils utilisent ça "2>&1", je ne sais pas vraiment quoi mettre . 

            • Partager sur Facebook
            • Partager sur Twitter
              4 juin 2022 à 16:17:39

              35 00 * * * python3 /home/utilisateur/mondossier.py >/tmp/fichier.log 2>&1

              finalement, on va tout rediriger vers fichier.log :

              • la sortie standard (1) vers le fichier log (par défaut, quand rien n'est indiqué)
              • la sortie d'erreur (2) vers la sortie standard (voir au-dessus)
              • Partager sur Facebook
              • Partager sur Twitter

              Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                4 juin 2022 à 16:31:48

                Ok, génial merci pour la commande ! Je l'ai écrite, mais je n'arrive pas à ouvrir le fichier.log  pour voir ce qu'il s'est passé. Je dois crée ce fichier.log au préalable, ou c'est la commande qui crée le fichier ou le fichier est déjà crée ?

                Je fais un cd /tmp/fichier.log et aucun résultat enfin le fichier n'existe pas. J'espère ne pas dire n'importe quoi, désolé si c'est le cas.

                • Partager sur Facebook
                • Partager sur Twitter
                  4 juin 2022 à 17:18:23

                  le fichier est créé par le shell avant d'exécuter la commande.

                  on ne peut pas cd vers un fichier.

                  si le fichier n'existe pas, c'est que la tâche n'est pas exécutée.

                  tu as bien adapté les horaires, n'est-ce pas ?

                  il va falloir aller chercher dans les logs du daemon cron pour voir ce qu'il dit de ta tâche...

                  parce qu'une même commande, qui s'exécute, ou pas quand on ne change que les horaires, ce n'est pas normal.

                  pourtant tout semble correct.

                  -
                  Edité par dantonq 4 juin 2022 à 17:19:07

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                    4 juin 2022 à 21:05:59

                    Alors tout d'abord merci énormément ! Mais enfaite c'est bon ! j'ai trouvé le problème et il était très stupide, mon serveur Ubuntu à 2h de retard sur moi, donc pour les minutes, il y a aucun problème à l'inverse pour les heures, bahh rien ne marchait.

                    Si jamais vous avez un problème similaire, faites la commande "date" et vérifier que vous avez bien les même paramètre que votre serveur.

                    Merci encore dantonq pour ton aide, et je pense que je vais simplement enlever 2h à chacune de mes commandes ahah.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      4 juin 2022 à 22:36:49

                      LoïsCoursaut1 a écrit:

                      le problème était très stupide : mon serveur Ubuntu à 2h de retard

                      :lol:  :lol:  :lol:

                      je suis content que ça fonctionne
                      et merci pour le retour.

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

                      Probleme de tache cron ubuntu

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown