Executando cron a cada 10 minutos

16

Eu tenho um script python na minha área de trabalho: /home/ceasor/Desktop/script.py

Em /etc/crontab, escrevi:

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

O script python não está sendo executado. Como executo o cron a cada 10 minutos?

Eric Leschinski
fonte
2
Por que você liga sudo python? Se você deseja executá-lo como root, basta especificar esse usuário no seu crontab. Também 0 */2significa a cada 2 horas, não a cada 10 minutos.
Joachim Sauer
Está na sua área de trabalho? Então você tem o caminho errado em sua crontab
Ocaso Protal
1
sua conta pode executar sudo sem senha? É python no caminho que o cron vê? também que crontab diz sempre 2 horas. se você quiser a cada 10 minutos, use * / 10 * * * *
Doon

Respostas:

26

Sua linha significa rodar em 0 minutos a cada duas horas (por exemplo, 00:00, 02:00, 04:00, etc).

Se você deseja executar algo a cada 10 minutos:

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

Tomei a liberdade de corrigir o caminho errado.

Para sua informação, estes são os significados dos valores:

         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 você deseja executar algo como root, você deve colocar em rootvez do ceasornome de usuário e soltar o sudo.

krtek
fonte
13

Execute um comando a cada 10 minutos:

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

O */10token dispara o cronjob a cada 10 minutos.

Você também pode enumerar a cada minuto que deseja que seja acionado:

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

Para executar algo a cada dez minutos, normalmente coloco algo como o seguinte no meu crontab:

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

Ajuste 0,10,20, ... conforme necessário, para atingir os minutos da hora desejada.

GreenMatt
fonte
você pode usar * / 10 em vez da enumeração, isso significa que a cada 10 minutos
Krtek
1
@Krtek: Sim, isso foi afirmado em outras respostas. Os dois lados funcionam, e eu pensei que seria bom conscientizar o OP sobre alternativas.
GreenMatt
3

Para cada dez minutos que você precisa

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

e se o script estiver, Desktop/você precisará usar esse caminho como no meu exemplo aqui.

Dirk Eddelbuettel
fonte