Esecuzione di cron ogni 10 minuti


16

Ho uno script Python sul mio desktop: /home/ceasor/Desktop/script.py

In /etc/crontab, ho scritto:

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

Lo script python non viene eseguito. Come eseguo cron ogni 10 minuti?


2
Perché chiami sudo python? Se vuoi eseguirlo come root, specifica semplicemente l'utente nel tuo crontab. 0 */2Significa anche ogni 2 ore, non ogni 10 minuti.
Joachim Sauer,

È sul tuo desktop? Quindi hai la strada sbagliata nel tuo crontab
Ocaso Protal

1
il tuo account può eseguire sudo senza password? È Python nel percorso che vede cron ?. anche quel crontab dice sempre 2 ore. se vuoi ogni 10 minuti usa * / 10 * * * *
Doon

Risposte:


26

La tua linea indica che corre a 0 minuti ogni due ore (ad esempio 00:00, 02:00, 04:00, ecc.).

Se vuoi eseguire qualcosa ogni 10 minuti:

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

Mi sono preso la libertà di correggere la strada sbagliata.

Cordiali saluti, questi sono i significati dei valori:

         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

E se vuoi eseguire qualcosa come root, dovresti inserire rootinvece ceasoril nome utente e rilasciare il file sudo.


13

Esegui un comando ogni 10 minuti:

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

Il */10 token genererà il cronjob ogni 10 minuti.

Puoi anche enumerare ogni minuto in cui vuoi che si attivi:

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

4

Per eseguire qualcosa ogni dieci minuti, normalmente inserisco qualcosa come il seguente nel mio crontab:

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

Regola 0,10,20, ... poiché devi premere i minuti dell'ora desiderata.


puoi usare * / 10 invece dell'enumerazione, significa ogni 10 minuti
krtek

1
@Krtek: Sì, è stato affermato in altre risposte. Entrambe le modalità funzionano e ho pensato che sarebbe stato utile sensibilizzare il PO sulle alternative.
GreenMatt

3

Per ogni dieci minuti è necessario

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

e se lo script è dentro Desktop/devi usare quel percorso come nel mio esempio qui.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.