CRON — это планировщик задач, который позволяет автоматически выполнять команды и программы по заданному расписанию.
С его помощью можно настроить регулярный запуск различных заданий без участия пользователя. Например, CRON может каждый час проверять состояние сервиса, раз в сутки создавать резервную копию сайта или запускать скрипт для обработки данных.
Как создать задание для планировщика CRON?
Войдите в панель управления ISPmanager и перейдите на вкладку «Планировщик CRON»:
Планировщик CRON в ISPmanager предоставляет следующие возможности:
- Создать задание;
- Изменить параметры задания (
)
- Удалить задание (
)
- Включить (
) или выключить (
) задание;
- Изменить настройки планировщика (
).
В настройках планировщика всего два параметра:
- Адрес e-mail — адрес электронной почты, на который будут пересылаться результаты выполнения заданий (отправку отчётов по e-mail можно отключить);
- Путь — пути до каталогов исполняемых файлов, разделяются двоеточием.
Задание для планировщика CRON состоит из:
- Команды — инструкции, которую сервер выполняет при запуске задания;
- Описания — комментария к заданию (необязательное поле);
- Расписания, которое определяет, когда запускать задачу.
Важно: команду для CRON обычно не нужно придумывать самостоятельно. Если задача связана с сайтом, CMS, плагином или сторонним сервисом, необходимую команду, как правило, предоставляет разработчик или инструкция к этому сервису.
Расписание можно настроить в базовом и экспертом режиме.
Базовый режим даёт выбор из предложенных вариантов:
- период выполнения задания (каждый час, ежедневно, еженедельно и т.п.);
- время начала выполнения задания (часы и минуты).
Экспертный режим предоставляет возможность более гибкой настройки расписания. Чтобы посмотреть описание поля, нажмите на знак ? рядом с ним.
В описании указаны символы и их значение:
| Символ |
Значение |
| * |
Любое значение |
| */n |
Каждые n единиц времени |
| n |
Конкретное значение |
| a-b |
Диапазон значений от a до b |
| a,b,c |
Несколько конкретных значений (через запятую без пробелов) |
Как настроить расписание в экспертном режиме?
- Минуты указываются с 0 до 59;
- Часы — с 0 до 23;
- Дни месяцев — с 1 до 31;
- Месяцы — с 1 до 12;
- Дни недели:
- 1 — понедельник;
- 2 — вторник;
- 3 — среда;
- 4 — четверг;
- 5 — пятница;
- 6 — суббота;
- 0 — воскресенье.
Например, настроим расписание выполнения задания в экспертном режиме так, чтобы оно выполнялось по вторникам каждые 15 минут:
Пример задания для CRON
Чтобы понять принцип работы планировщика, рассмотрим простой пример: автоматический запуск PHP-скрипта.
Зайдите в корневую папку вашего сайта (раздел «Менеджер файлов» → папка /www → папка с названием вашего сайта) и нажмите «Создать».
Выберите тип «Файл» и введите имя, например, cron.php. Нажмите «Создать».
Теперь откройте этот файл, дважды кликнув по нему, и вставьте туда следующий код:
<?php
file_put_contents(__DIR__ . '/cron-test.txt', date('Y-m-d H:i:s') . PHP_EOL, FILE_APPEND);
Затем нажмите «Сохранить и закрыть».
Теперь откройте этот файл в браузере по адресу https://вашсайт/cron.php, после чего снова зайдите в папку вашего сайта — в ней должен появиться файл cron-test.txt. Если вы всё сделали правильно, туда будет записано текущее время, когда вы открывали cron.php.
Настроим планировщик так, чтобы ISPmanager запускал cron.php автоматически и записывал время запуска в файл.
Откройте CRON и нажмите «Создать задание». Здесь нужно указать путь к интерпретатору PHP и полный путь к файлу.
1. Путь к PHP зависит от настроек сервера. Его можно посмотреть в настройках сайта: раздел «Сайты» → ваш сайт → «Изменить параметры сайта» (
). Раскройте меню «Обработчик PHP». Нажмите на значок «Скопировать» (
) справа от значения «Путь к интерпретатору PHP».
2. В ISPmanager путь к файлу в «Менеджере файлов» отображается в сокращённом виде. Но этого недостаточно. CRON запускает команду непосредственно на сервере, и ему нужен полный путь.
Важно: для запуска PHP-скрипта через CRON необходимо указать полный системный путь к файлу.
Поэтому при создании задания используйте полный путь:
/var/www/имя_пользователя/data/www/имя_сайта/cron.php,
где «имя пользователя» — это имя пользователя сервера, указанное в панели ISPmanager.
3. Теперь у нас есть путь к PHP и путь к файлу. Значит, команда должна быть:
/opt/php81/bin/php /var/www/имя_пользователя/data/www/site.by/cron.php
| /opt/php81/bin/php |
|
/var/www/имя_пользователя/data/www/site.by/cron.php |
| └────────┬─────────┘ |
| |
└──────────────────────────┬──────────────────────────┘ |
| PHP-интерпретатор |
|
PHP-скрипт |
- Введите данную команду в строку «Команда».
- Можно добавить «Описание» (это значение ни на что не влияет и заполнять данное поле не обязательно).
- Поставьте галочку напротив пункта «Включено».
- Выберите «Экспертный режим» и настройте расписание (на скриншоте мы настроили выполнение задания с началом каждой минуты, чтобы быстро увидеть результат).
- Можно поставить галочку напротив пункта «Не отправлять отчёт по e-mail», если вы не хотите, чтобы отчёты о выполнении задания и об ошибках приходили на вашу электронную почту, которая указана в настройках планировщика.
- Нажмите «Сохранить».
Зайдите в «Менеджер файлов» и найдите cron-test.txt. Откройте файл, чтобы убедиться, что задание выполняется автоматически и по заданному расписанию:
Если ваш сайт размещён на хостинге HB.BY и вы не знаете, какую команду указать, обратитесь в нашу круглосуточную службу технической поддержки — специалисты помогут определить необходимые параметры.
Теперь вы можете снова зайти в раздел «Планировщик CRON» и отключить задачу при необходимости, выделив её и нажав на ползунок справа или за значок «Выключить задание» (
).
Читайте также: