Skip to Content

Настройка cron

Cron – это утилита, позволяющая выполнять скрипты на сервере в назначенное время с заранее определенной периодичностью. В Idea Hub возможности cron используются для выполнения регулярных процедур: перерасчетов, отправки уведомлений и т.д.

В общем случае управлять cron можно с помощью команды crontab. Команда crontab -e, введенная в командной строке, автоматически запустит текстовый редактор и загрузит в него файл конфигурации cron. После выхода из редактора, новая конфигурация cron вступит в силу автоматически.

Синтаксис строки в файле crontab:

* * * * * cd /var/www/ideahub && vendor/bin/drush cron >/dev/null

* * * * * – это шаблон cron-строки, который состоит из 5 полей, разделенных пробелом, где:

  • минуты (0-59). Разрешенные символы: , - * /
  • часы (0-23). Разрешенные символы: , - * /
  • день месяца (1-31). Разрешенные символы: , - * ? / L W
  • месяц (1-12). Разрешенные символы: , - * /
  • день недели (1-7 или SUN-SAT). Разрешенные символы: , - * ? / L #

Значение полей может быть либо одним из разрешенных символов, либо списком элементов, разделенных запятыми. Элемент является либо числовым, либо диапазоном чисел, обозначенным двумя значениями, разделенными тире (например, 10-12).

Пример заполнения:

0 12 * * ? - задание будет запускаться каждый день с полудня.

Примечания:

  • Если в одном из полей установлен символ *, то будет использоваться каждое возможное значение этого поля. Например, если в поле Минуты установлена *, то задание будет запускаться каждую минуту.

  • Установка знака ? допускается для полей День месяца или День недели. Он означает, что в поле Нет конкретного значения. Знак полезен в том случае, когда нужно указать значение только в одном из двух полей.

  • Символ / используется для указания приращения значений. Например, если указать 0/15 в поле Минуты, это означает, что задание будет запускаться каждые 15 минут, начиная с нулевой минуты. Если указать 3/20, то запуск будет производиться каждые 20 минут в течение часа, начиная с третьей минуты.

  • Дополнительную информацию о работе с cron можно найти в интернете, например, здесь.

  • Для удобства можно воспользоваться генератором cron-выражений.

Рекомендации

Для своевременного выполнения перерасчетов рекомендуем установить запуск задания каждые 5 минут. Пример строки в файле crontab:

*/5 * * * * cd /var/www/ideahub && /var/www/ideahub/vendor/bin/drush cron > /dev/null 2>&1

Что дальше

Следующий шаг — первичная настройка Idea Hub.