Справочный центр
Создание заданий по расписанию
Отправлено в 12 October 2012 04:16

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

Создание нового задания

Авторизуйтесь в вашей Панели управления panel.infobox.ru на главной странице в блоке Хостинг сайтов выберите нужный сайт и нажмите "Управление сайтом".

На следующей странице выберите Управление Cron:

Теперь нажмите кнопку Добавить новую задачу:

Укажите абсолютный путь к скрипту (подробнее читайте в статье "Абсолютный путь к каталогам сайта") в поле "Команда". Либо введите команду crontab, например, tar.

 

Далее нужно настроить периодичность. Crontab-задания настраиваются по московскому времени.

Рассмотрим варианты настройки на примерах.

 

1. Задание должно выполняться раз в несколько минут

На шаге 2 в поле "Частота" выбираете Раз в минуту.

На шаге 3 уточняете частоту. К примеру, если вы в поле "Каждый", укажете 12, то задание будет запускаться каждые 12 минут, то есть 5 раз в час

2. Задание должно выполняться раз в несколько часов

На шаге 2 в поле "Частота" выбираете Раз в час.

На шаге 3 уточняете частоту. В поле "В" необходимо указать точный момент запуска задания. К примеру, если вы выберете здесь 10, то задание будет выполнятся в 10-ю минуту часа. В поле "через каждые" необходимо выбрать периодичность, например, если вы выберете 4, задание будет выполняться раз в четыре часа. Таким образом для выполнения задания в 10-ю минуту каждого четвертого часа необходимо выбрать следующие значения:

3. Задание должно выполняться раз в несколько дней

На шаге 2 в поле "Частота" выбираете Раз в день.

На шаге 3 настраиваете расписание: указываете время (Московское) и выбираете дни недели, в которые будет выполняться задание. К примеру, 4 дня в неделю, в 17:35:

4. Задание должно выполняться раз в неделю

На шаге 2 в поле "Частота" выбираете Раз в неделю.

На шаге 3 настраиваете расписание - точное время (Московское) и день недели, в который будет выполняться задание. К примеру, в 18:15 по четвергам:

5. Задание должно выполняться раз в месяц

На шаге 2 в поле "Частота" выбираете Раз в месяц.

На шаге 3 настраиваете расписание - точное время (Московское) и число месяца, когда будет выполняться задание. К примеру, в 22:45, 13-го числа каждого месяца.

Нажав кнопку "Готово", вы перейдете к списку заданий и увидите уведомление "Новая задача cron добавлена".

[↑наверх]

Подробнее о заданиях

Могут обрабатываться скрипты для следующих интерпретаторов:

  • PHP;
  • Perl;
  • CGI;
  • Sh.

Выполняемые скрипты должны удовлетворять трем условиям:

1. на них должны быть установлены права 755 (rwx r-x r-x).

2. для корректной работы РНР-скрипта в первой строке в выполняемом файле вне тегов должен быть указан интерпретатор:

#!/usr/bin/php -q

По умолчанию в консоли при выполнении команды php script_name.php или при запуске задания по cron при добавлении строки #!/usr/bin/php -q используется версия PHP 5.3. Если вам необходима другая, то нужно указать полный путь до интерпретатора:

/opt/alt/php52/usr/bin/php - PHP 5.2
/opt/alt/php54/usr/bin/php - PHP 5.4
/opt/alt/php55/usr/bin/php - PHP 5.5
/opt/alt/php56/usr/bin/php - PHP 5.6
/opt/alt/php70/usr/bin/php - PHP 7.0.11 (только в локации СПб)

3. файл должен быть сохранен как Unix–текст.

 [↑наверх]

Запланированные приложения

Вы также можете настроить CGI-скрипты для отложенного выполнения. Для этого в меню Управление Cron выберите вкладку Запланированные приложения, затем выберите кнопку «Добавить новое приложение»:

Откроется первый шаг, в котором вам нужно вписать URL скрипта, а также имя пользователя (логин) и пароль.

Во втором шаге настройте частоту выполнения задания (от раза в минуту до раза в месяц), в третьем – настройте точное расписание. 

[↑наверх]

Логирование

Вы можете выводить результаты работы Сron и возникающие ошибки в файл.

Для этого можете создать shell-скрипт следующего содержания:

#!/bin/sh
/usr/bin/php /путь_к_скрипту.php >>/tmp/cron.log 2>&1

где вместо /tmp/cron.log нужно указать свое значение. Затем настройте Cron-задание на выполнение этого скрипта параллельно исходному. 

 

[↑наверх]

(14 голосов)

Если в статье вы не нашли ответ на свой вопрос или обнаружили ошибку, пожалуйста, сообщите нам в комментарии.
Ваш отзыв поможет нам улучшить Справочный Центр
Евгений
04 October 2014 15:57
Вопрос к п.3
Укажите время периода в поле "Каждый". Например, если вы выберете 1, задание будет выполняться в первую минуту каждого часа.
---
Сейчас на третьем шаге после выбора Частота: Раз в час
Есть два выпадающих списка:
В (по умолчанию: 0)
и
через каждые (по умолчанию: 1)

Каков смысл этих полей? Каков смысл поля В?

Спасибо.
Александра Петухова
25 December 2014 12:19
Здравствуйте, Евгений.
Спасибо за вопрос. Мы расширили статью и постарались описать все возможные настройки частоты выполнения заданий максимально подробно. Для варианта "Раз в час" первое поле "В" обозначает минуту часа в которую запускается задание, а поле "Через каждые" - периодичность запуска в часах. Таким образом настройки "В" 20, "через каждые" 6 означают выполнение задания в 20-ю минуту каждого 6-го часа, то есть 4 раза в сутки.
Комментарий к статье появится после проверки модератором
 
 
Если вам нужна помощь, пожалуйста, напишите запрос из своей Панели управления panel.infobox.ru
Имя:
E-mail:
Комментарий:
© 2002—2017 ООО «Национальные телекоммуникации»