Запуск cron каждые 10 минут

16

У меня есть скрипт на моем рабочем столе: /home/ceasor/Desktop/script.py

В /etc/crontab, я писал:

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

Скрипт Python не запускается. Как мне запускать cron каждые 10 минут?

Эрик Лещинский
источник
2
Почему ты звонишь sudo python? Если вы хотите запустить его как root, просто укажите этого пользователя в своем crontab. Также 0 */2означает каждые 2 часа, а не каждые 10 минут.
Йоахим Зауэр
Это на вашем рабочем столе? Тогда у вас неправильный путь в вашем
хронтабе
1
может ли ваша учетная запись запускать sudo без пароля? Есть ли питон на пути, который видит cron? также этот crontab говорит когда-либо 2 часа. если вы хотите каждые 10 минут, используйте * / 10 * * * *
Doon

Ответы:

26

Ваша линия означает, что она работает в 0 минут каждые два часа (то есть 00:00, 02:00, 04:00 и т. Д.).

Если вы хотите что-то запускать каждые 10 минут:

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

Я позволил себе исправить неправильный путь.

К вашему сведению, это значение значений:

         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

И если вы хотите запустить что-то от имени пользователя root, вы должны указать rootвместо ceasorимени пользователя имя пользователя и удалить его sudo.

Krtek
источник
13

Запускайте команду каждые 10 минут:

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

*/10Маркер запустит cronjob каждый 10 - й минуте.

Вы также можете перечислять каждую минуту, что вы хотите, чтобы он выстрелил:

0,10,20,30,40,50 * * * * sudo python /home/ceasor/Desktop/script.py
kradmiy
источник
4

Чтобы запускать что-то каждые десять минут, я обычно помещаю что-то вроде следующего в мой crontab:

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

Настройте 0,10,20, ... так, как вам нужно, чтобы попасть в минуты нужного вам часа.

GreenMatt
источник
Вы можете использовать * / 10 вместо перечисления, это означает, что каждые 10 минут
krtek
1
@Krtek: Да, это было сказано в других ответах. Оба способа работают, и я подумал, что было бы хорошо, чтобы ОП знал об альтернативах.
GreenMatt
3

За каждые десять минут вам нужно

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

и если скрипт находится внутри, Desktop/вы должны использовать этот путь, как в моем примере здесь.

Дирк Эддельбюттель
источник