Дерево страниц

Вы можете настраивать задания для планировщика cron через раздел "Crontab" панели управления аккаунтом или при подключении по SSH.

Рекомендуем использовать какой-то один способ добавления заданий (либо панель, либо SSH), так как при добавлении нового задания через Crontab в панели управления, те задачи, которые ранее были созданы по SSH, будут удалены.

Crontab в панели управления

Для создания задания cron:

1. Перейдите в раздел Crontab.

2. Нажмите на ссылку "Добавить новую задачу".

3. В появившейся форме "Новая задача cron" введите данные:

  • Название задачи (например, "test task").

  • Тип файла (например, "скрипт PHP").

  • Путь до файла. Нажмите на значок дерева каталогов для его отображения и выберите заранее загруженный на аккаунт файл, который будет выполняться. Также можно ввести абсолютный путь до файла, например: /test.php или /home/u/username/test.php, если файл находится в домашней директории Вашего аккаунта. Тип файла, который Вы указываете в данном пункте, должен совпадать с установкой в предыдущем пункте; в противном случае с запуском задачи могут возникнуть проблемы.

  • Периодичность (выберите период выполнения задачи):

    При выборе продвинутых настроек дни недели указываются с 0 (воскресенье) до 6 (суббота), числа с 1 до 31, месяцы с 1 до 12, часы с 0 до 23, минуты - с 0 до 59.  
    Если день недели (число, месяц) не важен, указывается *.
    Формат настройки (на примере минут): * - каждую минуту; */n - каждые n минут; n - с началом n-минуты; a, b, c - с началом указанных минут.

    Например, для выполнения задачи в 8, 12 и 16 часов необходимо указать часы через запятую: 8,12,16. Для выполнения задачи каждые 5 минут необходимо указать: */5.


4. Нажмите "Создать задачу".

Настройка cron по SSH

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

Просмотреть список существующих заданий cron можно командой:

Для добавления или редактирования заданий выполните команду:

Откроется редактор, в котором Вы можете указывать необходимые задания. 

Каждое задание должно быть указано в отдельной строке и содержать сначала параметры периодичности его запуска, а далее - саму команду.

После ввода последней команды в редакторе необходимо нажать Enter для перевода строки и только после этого сохранять изменения.

Для сохранения изменений нажмите F2, либо F10 для выхода и подтверждения/отмены изменений.

Если данные были введены корректно, в терминале будет вывод:

Периодичность выполнения задания

Периодичность задается в пяти последовательных полях: минута, час, день, месяц, день недели.

Особенности указания параметров:

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

Дополнительно:

"*" - если применимо любое значение параметра (в любой день, месяц, час и т.д.)

Также можно указывать числа через запятую (например: 1,2,4 - в понедельник, вторник и четверг) или диапазон чисел через тире (например, "9-23" - в период с 9 до 23 часов).

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

  • * - каждую минуту;
  • */n - каждые n минут;
  • n - с началом n-минуты;
  • a,b,c - с началом указанных минут.

Примеры настройки:

  • 0/25 * * * * - каждые 25 минут;
  • 0 8,16 * * 6 - в 8 и 16 часов каждую субботу;
  • 0 1 1 * * - в час ночи 1 числа каждого месяца;
  • 0 */2 * * 1 - каждые 2 часа по понедельникам;
  • 0 5 * * * - ежедневно в 05:00.

 

Примечания к работе с планировщиком

1. При запуске скриптов используется серверная версия PHP (5.3 или 7.1, в зависимости от сервера). Если Вам нужна другая версия, необходимо:

  • выбрать тип файла "Исполняемый бинарный файл";
  • в поле "Путь до файла" указать путь до интерпретатора: /opt/php5.х/bin/php, а далее абсолютный путь до скрипта на Вашем аккаунте;
  • заменить 5.x на требуемую версию PHP. На серверах виртуального хостинга Вам доступны следующие версии: 5.3, 5.4, 5.6, 7.0, 7.1.

Например, чтобы запустить скрипт script.php из-под версии PHP 7.0, необходимо указать:

(u и user - первая буква логина и сам логин).

2. При указании пути к интерпретатору версию php можно прописывать как с точкой, так и без нее: например, записи /opt/php5.6/bin/php и /opt/php56/bin/php равнозначны.

3. Если в задаче запускается скрипт, требующий переменные веб-сервера, запуск напрямую через PHP-интерпретатор приводит к ошибкам. Поэтому в случае, когда Вы используете скрипт, работающий при запуске через адресную строку браузера, необходимо выбирать тип файла "Исполняемый бинарный файл" и задавать задачу вида:

Команда wget отправляет запрос, имитируя работу веб-браузера.

4. Если скрипт выполняется некорректно, для диагностики проблемы Вы можете включить получение ошибок на почтовый адрес администратора, указав его в соответствующем пункте в разделе "Crontab" или в строке MAILTO при подключении по SSH.

Со стороны специалистов поддержки Timeweb не оказываются консультации по исправлению кода скриптов для задач cron.