Exécution de cron toutes les 10 minutes


16

J'ai un script python sur mon bureau: /home/ceasor/Desktop/script.py

Dans /etc/crontab, j'ai écrit:

0 */2   * * *   ceasor    sudo python  /home/ceasor/Desktop/script.py

Le script python n'est pas exécuté. Comment exécuter cron toutes les 10 minutes?


2
Pourquoi appelez-vous sudo python? Si vous souhaitez l'exécuter en tant que root, spécifiez simplement cet utilisateur dans votre crontab. Signifie également 0 */2toutes les 2 heures, pas toutes les 10 minutes.
Joachim Sauer

C'est sur votre bureau? Ensuite, vous avez le mauvais chemin dans votre crontab
Ocaso Protal

1
votre compte peut-il exécuter sudo sans mot de passe? EST python dans le chemin que cron voit?. aussi que crontab dit jamais 2 heures. si vous voulez toutes les 10 minutes utilisez * / 10 * * * *
Doon

Réponses:


26

Votre ligne signifie fonctionne à 0 minutes toutes les deux heures (c.-à-d. 00:00, 02:00, 04:00, etc.).

Si vous souhaitez exécuter quelque chose toutes les 10 minutes:

*/10 * * * *  ceasor    sudo python  /home/ceasor/Desktop/script.py

J'ai pris la liberté de corriger le mauvais chemin.

Pour info, voici la signification des valeurs:

         field          allowed values
          -----          --------------
          minute         0-59
          hour           0-23
          day of month   1-31
          month          1-12 (or names, see below)
          day of week    0-7 (0 or 7 is Sun, or use names)
          username       any user from the system
          command        the command you want to run

Et si vous voulez exécuter quelque chose en tant que root, vous devez mettre à la rootplace de ceasorpour le nom d'utilisateur et supprimer le sudo.


13

Exécutez une commande toutes les 10 minutes:

*/10 * * * *   ceasor    sudo python  /home/ceasor/script.py

Le */10jeton déclenchera le cronjob toutes les 10 minutes.

Vous pouvez également énumérer chaque minute que vous souhaitez déclencher:

0,10,20,30,40,50 * * * * sudo python /home/ceasor/Desktop/script.py

4

Pour exécuter quelque chose toutes les dix minutes, je mets normalement quelque chose comme ce qui suit dans mon crontab:

0,10,20,30,40,50 * * * * sudo python /home/ceasor/Desktop/script.py

Ajustez le 0,10,20, ... comme vous devez frapper les minutes de l'heure que vous voulez.


vous pouvez utiliser * / 10 au lieu de l'énumération, cela signifie toutes les 10 minutes
krtek

1
@ Krtek: Oui, cela a été dit dans d'autres réponses. Les deux méthodes fonctionnent, et j'ai pensé qu'il serait bon de sensibiliser le PO aux alternatives.
GreenMatt

3

Pour toutes les dix minutes dont vous avez besoin

  */10 * * * *     ceasor         sudo python /home/ceasor/Desktop/script.py

et si le script est dedans, Desktop/vous devez utiliser ce chemin comme dans mon exemple ici.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.