Cron запускает команду по расписанию, но не проверяет результат работы магазина или импорта. Запуск процесса, успешный код завершения и обновленная запись в базе - три отдельные проверки. Для выбора хостинга сначала опишите задачу: что она меняет, сколько работает и можно ли повторять ее без дублей.

Для DLE отдельно проверьте включение служебного запуска, число сохраняемых копий базы и внешний архив файлов. Копирование БД, рассылка и построение карты сайта имеют разные последствия; общий значок cron не подтверждает правильную настройку CMS.

Паспорт задачи перед выбором тарифа

Техническая среда сайта с планировщиком, очередью задач, базой данных, журналами и мониторингом
До оплаты проверяют доступность cron, частоту, длительность, окружение, права, логирование и защиту от параллельных дублей.
ПараметрЧто сообщить поддержкеЗачем это нужно
ИнтервалНужная частота, например каждые 5 минутМинимум панели может быть больше
ПродолжительностьВремя на тестовых данныхПроцесс может не уложиться в лимит
ИнтерпретаторПолный путь и версия PHP CLIНастройка веб-PHP не выбирает CLI автоматически
КаталогГде находятся приложение и его конфигурацияОтносительные пути могут работать только при ручном запуске
Побочные действияЗапись в базу, отправка писем, внешний APIПовторная попытка не должна создавать повторный заказ
НаблюдениеЖурнал, результат и уведомление об ошибкеМолчание не доказывает успешное выполнение

Пример с пятью минутами - требование сценария, а не подтвержденная характеристика конкретного тарифа. В нашем реестре пока нет точных cron-лимитов каждой shared-линейки. Неизвестная частота не используется как положительный фильтр.

Как читать расписание

В пользовательском crontab перед командой стоят пять полей: минуты, часы, день месяца, месяц и день недели. Пример */5 * * * * задает запуск на отметках 0, 5, 10 и дальше до 55 минут каждого часа. Это расписание по часам, не отсчет пяти минут после окончания предыдущей работы. Синтаксис сверяется по руководству crontab.

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

Поддержка CRON_TZ зависит от реализации. Даже там, где переменная задает часовой пояс расписания, журналы могут использовать пояс самого сервера. Уточните реализацию у провайдера и сравните время тестового события с ожидаемым временем; настройка пояса приложения не обязательно меняет планировщик.

Почему вручную работает, а по расписанию нет

Сначала сравните путь к программе, рабочий каталог, пользователя и переменные окружения. Короткая команда из интерактивного shell может зависеть от PATH или настройки профиля. Полный путь уменьшает неопределенность, но не исправляет отсутствующее расширение PHP.

Для диагностики CLI подходят php -v, php --ini и php -m; их назначение описывает руководство PHP. Команды здесь приведены как примеры, а не результаты теста тарифа. Вывод своего задания сохраняйте вне публичного каталога сайта, ограничивайте доступ и размер журнала. В нем могут оказаться адреса клиентов или токены.

При ошибке соединения проверьте сеть и доступ к нужному API отдельно. Если команда остановлена по времени или памяти, изменение расписания не увеличит ресурсный лимит. Такой симптом нужно сообщить поддержке вместе с временем, длительностью и очищенным от секретов фрагментом журнала.

Перекрытие запусков и блокировка

Задача на семь минут при интервале пять минут может пересечься со следующей. Решите, должен ли новый запуск ждать, пропускаться или пополнять очередь. Это выбор приложения, а не универсальная настройка Cron.

В Linux flock помогает получить блокировку; неблокирующий режим не ждет освобождения занятой блокировки. Поведение и оговорки для NFS/CIFS описаны в руководстве flock. На shared программа может отсутствовать. Обычный файл без корректного механизма блокировки сам по себе не защищает от гонки.

Проверку пропущенного запуска учитывайте отдельно от ошибки импорта. А для нескольких серверов локальной блокировки недостаточно: согласование исполнителей нужно проектировать на уровне приложения или общей очереди.

Перенос расписания без двойного импорта

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

Подготовьте копию с отключенными реальными письмами и платежами. Проверьте один запуск и его результат, затем повторный запуск на тех же тестовых данных. До переключения назначьте только один активный исполнитель: старое и новое расписания не должны параллельно менять рабочую базу.

Сохраните прежние настройки и способ отката. Отдельно проверьте бэкап сайта и SSH-доступ. Для постоянного worker или сложной очереди сравните VPS, но включите в смету администрирование. Обычные цены находятся в каталоге; пригодность Cron в выбранном тарифе еще нужно подтвердить.