В ISPmanager задания по расписанию создаются в разделе Планировщик (cron). Cron запускает команды в shell сервера, поэтому PHP-скрипты обычно лучше запускать через PHP CLI, а не открывать через браузер.

Базовая команда для PHP-скрипта

/usr/bin/php /var/www/user/data/www/example.com/cron.php

Замените user, example.com и cron.php на реального пользователя, домен и путь к скрипту. Если на сервере несколько версий PHP, путь к PHP может отличаться. Проверить его можно командами:

which php
whereis php

Команда с рабочей директорией

Некоторые скрипты используют относительные пути. В таком случае сначала перейдите в директорию сайта, а затем запускайте скрипт:

cd /var/www/user/data/www/example.com && /usr/bin/php cron.php

Логирование результата cron

Пока вы проверяете задание, не оставляйте cron полностью “тихим”. Записывайте вывод в лог:

/usr/bin/php /var/www/user/data/www/example.com/cron.php >> /var/www/user/data/www/example.com/cron.log 2>&1

После проверки можно оставить лог или перенаправить вывод в /dev/null, если это подходит для вашего скрипта.

Запуск через URL

Если скрипт рассчитан только на запуск через веб, используйте curl или wget:

/usr/bin/curl -fsS https://example.com/cron.php

Этот способ зависит от DNS, SSL и работы веб-сервера, поэтому для внутренних задач обслуживания запуск через PHP CLI обычно надежнее.

Как часто запускать

Не запускайте тяжелые скрипты каждую минуту, если этого прямо не требует документация приложения. Для большинства задач безопаснее интервал 5, 10, 15 или 30 минут. Если предыдущий запуск не успевает завершиться до следующего, сайт может начать тормозить или создавать дубли задач.

Если cron не работает

  • Запустите команду вручную через SSH и посмотрите ошибку.
  • Используйте абсолютные пути к PHP и к скрипту.
  • Проверьте права на файл и версию PHP, которая используется в CLI.
  • Проверьте лог-файл и уведомления cron в ISPmanager.
  • Если обращаетесь в поддержку, отправьте команду, расписание, путь к скрипту и последние строки из лога.