Задать вопрос
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

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

В статье мы расскажем о планировщике задач Cron и о том, как настроить Cron-задание на хостинге.

Что такое Cron

Cron (Command Run ON) — это программа-планировщик в UNIX-подобных системах. Она позволяет запланировать задачу и выполнить ее в определенное время. Весь функционал планировщика хранится в директории Crontab — в ней находятся файлы конфигурации, которые регулируют работу Cron.

Чаще всего Cron используется в ОС семейства Linux: он помогает автоматизировать некоторые действия на хостинге и повторять их с определенной периодичностью. Это может быть:

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

Помимо стандартного функционала, через Cron можно настроить запуск собственного PHP-скрипта. Для этого нужно создать файл с вашим скриптом и загрузить его на хостинг. После этого в настройках Cron-задания необходимо указать путь к файлу.

Какой синтаксис имеет выражение Cron

Задача, которая создана в Cron, имеет следующий формат:

[время_запуска_скрипта] [команда_или_путь_к_скрипту]

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

Параметр Значение Описание
Минуты от 0 до 59 Команда выполняется в указанную минуту
Часы от 0 до 23 Команда запускается в указанный час
Дни от 1 до 31 Команда выполняется в указанный день месяца
Месяцы от 1 до 12

Команда выполняется в указанном месяце, где:
1 — январь,
2 — февраль,
3 — март,
4 — апрель,
5 — май,
6 — июнь,
7 — июль,
8 — август,
9 — сентябрь,
10 — октябрь,
11 — ноябрь,
12 — декабрь

Дни недели от 0 до 7 Задание выполняется в указанный день недели, где:
0 — воскресенье,
1 — понедельник,
2 — вторник,
3 — среда,
4 — четверг,
5 — пятница,
6 — суббота,
7 — воскресенье.

Необязательно указывать число в каждом параметре — его можно заменить знаком *. Что это будет значить для разных параметров:

  • Минуты — команда будет выполняться ежеминутно,
  • Часы — задание в разделе Crontab будет исполняться каждый час,
  • Дни — задание будет выполняться каждый день месяца,
  • Месяцы — задание будет выполняться ежемесячно,
  • Дни недели — команда будет исполняться ежедневно.

В качестве примера разберем следующую команду:

0 9 * * 1 /usr/bin/php /home/l/login/public_html/script.php

Эта запись значит, что задание из файла для Crontab будет исполняться каждый понедельник в 9 часов утра.
Если вы хотите указать несколько значений для одного параметра, между ними можно поставить запятую или дефис. Например:

0 9,18 * * 1-5 /usr/bin/php /home/l/login/public_html/script.php

Эта запись означает, что пользовательский скрипт будет исполняться в 9:00 и в 18:00 с понедельника по пятницу включительно.

Как формируется абсолютный путь до корневой папки аккаунта

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

/home/u/username

Где:

  •  /home — домашняя папка сервера.
  •  /u — первая буква логина аккаунта
  •  /username — логин аккаунта.

Обратите внимание: Linux-хостинг чувствителен к регистру. Если вам нужно использовать название файла с исполняемым скриптом, его нужно вводить в точном соответствии с регистром названия. 
Например, если исполняемый файл называется SCRIPT.PHP, то путь к нему должен иметь следующий вид:

/home/u/username/SCRIPT.PHP

Как узнать путь до исполняемой программы

Для создания задания потребуется путь до исполняемой программы. Чтобы узнать его:

  1. Подключитесь к хостингу по SSH.
  2. Выполните команду:
which perl 

Вместо perl укажите название программы, которая должна выполняться в рамках задания.
В выводе этой команды отобразится путь:

/usr/bin/perl

Готово, вы узнали до исполняемой программы.

 Для PHP путь к команде зависит от необходимой для запуска скрипта версии языка. По умолчанию команда /usr/bin/php запускает версию PHP 5.2. Если необходимый скрипт рассчитан на работу с другой версией, во избежание ошибок выполнения необходимо добавить к пути к команде необходимую версию следующим образом:

/usr/bin/php<номер>

Поддерживаемые версии PHP на хостинге: 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2, 7.3, 7.4, 8.0, 8.1

Например, для версии PHP 7.4 путь будет следующим:

/usr/bin/php7.4

Как добавить задание в Cron

  1. Перейдите в панель управления
  2. Разверните блок Инструменты и выберите Crontab
  3. Нажмите "Добавить задание":


     
  4. Далее выберите Мастер заданий или Создать вручную

Мастер заданий

Укажите Исполнителя заданий и период:

Создать вручную

Заполните поля:

  • Минута — укажите минуты в диапазоне от 0 до 59,
  • Час — укажите час в диапазоне от 0 до 23,
  • День — укажите число месяца в диапазоне от 1 до 31,
  • Месяц — укажите месяц в формате от 1 до 12,
  • День недели — укажите день недели в диапазоне от 0 до 7,
  • Команда — добавьте команду, которую нужно выполнить.

Затем кликните Добавить:

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

Как подписаться на уведомления

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

  1. Перейдите в раздел Crontab
  2. Выберите "Подписаться на уведомления"


     
  3. Укажите электронную почту и нажмите Сохранить.

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

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

> /dev/null 2>&1

Например, для команды /usr/bin/php7.4 /home/l/login/script.php:

/usr/bin/php7.4 /home/l/login/script.php > /dev/null 2>&1
Предыдущая статья
Статистика AWStats
Следующая статья
Ошибка: "Не удалось вызвать функцию mail"