Планировщик заданий Cron

Cron — это планировщик задач в Linux, позволяющий выполнять команды на сервере в назначенное время с нужной периодичностью. Настроить его можно в разделе «Инструменты» — «Crontab» в панели управления.

Редактировать Crontab утилитой crontab на сервере не получится — она закрыта для безопасности. При запуске появится ошибка:

user@vh424:~$ crontab -e
Редактирование cron-задач доступно только через панель управления.

Создание задачи

Чтобы создать задачу:

  1. Перейдите в раздел «Инструменты» → «Crontab». 
  2. Нажмите на кнопку «Добавить задачу».
  3. Заполните параметры:

Group 3

— Название. Имя задачи, которое будет отображаться в панели управления. Может быть на кириллице или латинице, состоять из нескольких слов и содержать пробелы. Максимальная длина — 100 символов.

— Интерпретатор. Выберите сценарий выполнения задачи. Доступные варианты:

  • Сценарий PHP X.X;
  • Сценарий Perl;
  • Сценарий Python;
  • Сценарий SH;
  • Исполняемый бинарный файл;
  • HTTP-запрос;
  • Произвольный запрос.

Интерпретатор определяет, какая команда будет выполняться в задаче.

Интерпретатор

Команда

Сценарий PHP X.X

/opt/phpXX/bin/php /home/u/user/<Путь до файла>

Сценарий Perl

/usr/local/bin/perl /home/u/user/<Путь до файла>

Сценарий Python

/usr/bin/python /home/u/user/<Путь до файла>

Сценарий SH

/bin/sh /home/u/user/<Путь до файла>

HTTP-запрос

wget -O /dev/null -q <URL для запроса>

Исполняемый бинарный файл

<Путь до файла>

Произвольный запрос

Команда задается вручную

  • При выборе опции «HTTP-запрос» появится поле «URL для запроса». Введите необходимый адрес. Пример: 

https://example.com/file.php
  • При выборе «Произвольного запроса» появится поле «Команда для запроса». Введите команду вручную.

Например, с помощью такого запроса мы можем каждые 5 минут проверять сайт и записывать в лог строку «Сайт недоступен», если код ответа не 200:

curl -s -o /dev/null -w "%{http_code}" https://example.com | grep -q "200" || echo "Сайт недоступен" >> /var/log/site_check.log

Если ни один из готовых сценариев вам не подходит, выбирайте «Произвольный запрос» — вы сможете написать полную команду так, как вам нужно.

— Путь до файла. Нажмите «Выбрать путь», чтобы указать нужный исполняемый файл. По умолчанию откроется домашняя директория аккаунта. Перейдите в нужную папку, выделите файл и нажмите «Сохранить».

В редких случаях, когда Файловый менеджер по каким-то причинам недоступен, вы сможете указать путь до файла вручную.

Его необходимо прописывать относительно домашней директории:

  • /test.php — корректно
  • /home/u/user/test.php — некорректно, возникнет ошибка

— Часовой пояс. Убедитесь, что указан корректный часовой пояс или выберите его вручную. Задачи выполняются по времени выбранного часового пояса.

— Расписание. Настройте расписание выполнения задач. Можно воспользоваться готовыми шаблонами (раз в минуту, каждую неделю и т.д.) или выбрать экспертные настройки, чтобы гибко настроить расписание.

  1. После указания всех необходимых параметров нажмите «Создать задачу».

Шаблоны расписания

В панели управления есть несколько шаблонов для настройки расписания.

Без Названия

Например, если вам нужно запускать задачу каждый день, вы можете выбрать шаблон «Раз в день» и указать в форме нужный час и минуту.

Раз в минуту

B52d4b0f 98b7 42c9 B35a Fe17e46aa7ad

Раз в час

Укажите значение минуты от 0 до 59.

6d0f24a0 22d8 48e2 9cfe 8ddba3bd86b1

Раз в день

Укажите час (0-23) и минуту (0-59), когда должна выполняться задача.

C265d7b5 E2b8 4c0e 9f6a 909385cb7402

Каждую неделю

Выберите день недели (можно выбрать несколько) и укажите час (0-23) и минуту (0-59), когда должна выполняться задача.

8b5b0faa 6294 41ec A285 53b0807937bc

Каждый месяц

Выберите число месяца (можно выбрать несколько) и укажите час (0-23) и минуту (0-59), когда должна выполняться задача.

B1f594c1 Ed43 46f0 Be30 42400bfb018a

Каждый год

Выберите месяц и число (можно выбрать несколько месяцев и дат) и укажите час (0-23) и минуту (0-59), когда должна выполняться задача.

B7768482 9f1d 47cb 8341 4ba854a54f56

Экспертные настройки

При выборе опции «Экспертные настройки» вы увидите следующую форму:

94f5da95 Ff47 4bef 879f 3f994f97bf3d

Значения указываются в диапазонах

  • минуты с 0 до 59;
  • часы с 0 до 23,
  • дни с 1 до 31,
  • месяцы с 1 до 12,
  • дни недели с 0 до 6 (0 — воскресенье, 6 — суббота).

Если день недели (число, месяц) не важен, указывается *.

Формат настройки (на примере минут):

  • * — каждую минуту;
  • */15 — каждые 15 минут;
  • 5 — с началом 5 минуты;
  • 10,25,45 — с началом указанных минут.

Например:

  • Для выполнения задачи каждую минуту необходимо во всех полях указать *.

  • Для выполнения задачи каждые 15 минут необходимо в поле «Минута» указать */15, а во всех остальных полях указать *.

  • Для выполнения задачи ежедневно в 8, 12 и 16 часов необходимо в поле «Часы» указать через запятую 8,12,16, а в остальных полях указать *.

  • Для выполнения задачи каждую субботу в 03:30 утра необходимо указать:

    • Минута: 30
    • Час: 3
    • День: *
    • Месяц: *
    • День недели: 6

8fa4e6a2 Ac25 4434 B1c7 56fe0ced4076

Редактирование задачи

Вы можете изменить любую из созданных задач. Для этого:

  1. Перейдите в раздел «Инструменты» → «Crontab». 
  2. Найдите нужную задачу в списке.
  3. Наведите курсор на нее и нажмите на значок шестеренки.

Dc03068d 5d42 4cd2 8fa8 D3e36b5c6dc1

  1. Отредактируйте необходимые параметры и сохраните изменения.

7511aa2b Fded 478d Bdca B7300dca8274

Приостановка задачи

Если вам нужно временно прекратить регулярное выполнение задачи, вы можете выключить ее, не удаляя.

Для этого:

  1. Перейдите в раздел «Инструменты» → «Crontab». 
  2. Найдите нужную задачу в списке.
  3. Переведите переключатель в неактивное положение.

04fbb73b 3cca 4f55 8fdf C0503e7925c7

Включить задачу снова вы сможете в любой момент. Будут применены те же настройки интерпретатора и расписания.

Отслеживание ошибок

Вы можете настроить получение отчетов на email, чтобы отслеживать ошибки при выполнении задач.

Если задача была выполнена успешно, отчет не отправляется.

  1. Перейдите в раздел «Инструменты» → «Crontab».
  2. Нажмите на «Указать почту для отчетов» справа вверху.

478fce47 57ee 409c 82bc 60570dd08927

  1. Введите почтовый адрес и нажмите «Сохранить».

Когда почта для отчетов задана, она будет отображаться справа вверху. По клику вы сможете изменить email для отчетов, если это необходимо.

39b80976 E355 4e2f A3c4 67744b3e1d1d

Отчет содержит: 

  • логин аккаунта и сервер, на котором выполнялась задача;
  • интерпретатор и путь до файла скрипта;
  • текст ошибки;
  • лог или ссылку на страницу лога в панели управления.

Удаление задачи

Если нужно временно прекратить выполнение задачи, ее можно приостановить.

Чтобы полностью удалить задачу:

  1. Перейдите в раздел «Инструменты» → «Crontab». 
  2. Найдите нужную задачу в списке.
  3. Наведите курсор на нее и нажмите на значок удаления.

49cba6dd C3e6 4759 Acef D998812e1270

  1. Подтвердите действие.

Поиск по задачам

Вы можете находить задачи с помощью опции поиска справа вверху. Поиск выполняется по полям «Название» и «Команда».

932a7899 8fd1 4c74 9714 1e0475c32071