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?

Eric Leschinski
la source
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.

krtek
la source
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
kradmiy
la source
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.

GreenMatt
la source
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.

Dirk Eddelbuettel
la source