К основному содержимому

Cron задачи в ISPmanager 6: планировщик заданий

ISPmanager 6 · 19.04.2026 · 4 мин чтения
Иллюстрация к статье «Cron задачи в ISPmanager 6: планировщик заданий»

Cron — планировщик задач Linux. Через ISPmanager вы можете добавлять, редактировать и удалять cron-задачи через графический интерфейс без редактирования crontab вручную.

Создание cron задачи

Главное меню → Cron → Создать.

ПолеОписание
ПользовательОт чьего имени запускать
Минуты0–59 или * (каждую минуту)
Часы0–23 или *
Дни месяца1–31 или *
Месяцы1–12 или *
Дни недели0–7 (0,7=вс) или *
КомандаПолный путь к скрипту

Примеры cron задач

# Каждый час
0 * * * * /usr/bin/php /var/www/user1/data/www/example.com/www/cron.php

# Каждый день в 03:00
0 3 * * * /usr/bin/php /var/www/user1/data/www/example.com/www/cleanup.php

# Каждые 5 минут
*/5 * * * * /usr/bin/php /var/www/user1/data/www/example.com/www/queue.php

# WordPress WP-Cron через curl (рекомендуется вместо wp-cron.php)
*/5 * * * * /usr/bin/curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null
💡 Для WordPress рекомендуется отключить встроенный WP-Cron (DISABLE_WP_CRON = true в wp-config.php) и запускать через системный cron — надёжнее и быстрее.

WordPress Cron через системный cron

# wp-config.php
define('DISABLE_WP_CRON', true);

# Cron задача (каждые 5 минут)
*/5 * * * * /usr/bin/php /var/www/user1/data/www/example.com/www/wp-cron.php > /dev/null 2>&1

Логирование вывода cron

# Сохранять вывод в лог файл
0 3 * * * /usr/bin/php /var/www/cron.php >> /var/log/mycron.log 2>&1

# Игнорировать вывод
0 3 * * * /usr/bin/php /var/www/cron.php > /dev/null 2>&1
⚠️ Убедитесь что в cron задаче указан полный путь к php: /usr/bin/php8.2 или /usr/bin/php. Относительные пути не работают в cron.

Типичные ошибки cron в ISPmanager 6

СимптомПричина
sh: 1: /usr/bin/php: not foundНа сервере включена мультиверсионность PHP, и нужный бинарник лежит не в /usr/bin/php, а, например, в /opt/php-8.2/bin/php
Задача не появилась в списке после созданияФорма сохраняется только по кнопке «Ok» внизу; переход на другую вкладку панели без сохранения отменяет ввод
Команда обрывается на символе %% не экранирован и интерпретируется cron как перенос строки — актуально для date +%Y%m%d в бэкапах
Письмо об ошибке не приходитISPmanager 6 не пересылает вывод cron на почту по умолчанию — нужно явно добавить MAILTO в начало команды или перенаправить вывод в файл
Permission denied при редактировании чужой задачиДополнительный пользователь или реселлер панели не имеет прав уровня владельца аккаунта на этот cron
wp-cron.php запускается дважды подрядИнтервал cron совпадает с TTL внутренней блокировки WP-Cron; нужно развести расписания или добавить lock-файл в сам скрипт
Задача отработала, но сайт не видит измененийPHP-CLI, из-под которого запущен cron, и PHP-FPM веб-процесса используют разные экземпляры OPcache; после деплоя через cron нужен отдельный сброс кеша для веба

Единый системный лог cron

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

# На системах с systemd
journalctl -u cron --since today

# На системах с классическим syslog
grep CRON /var/log/syslog | tail -n 50

Когда cron в ISPmanager 6 не подходит

  • Задачу нужно запускать чаще раза в минуту — минимальный шаг cron составляет 60 секунд независимо от панели
  • Нужна очередь с повторными попытками и приоритетами — для постоянно работающего воркера (Supervisor, systemd unit) нужны root-права, которых у обычного аккаунта ISPmanager нет
  • Требуется запуск операций с правами root (обновление системных пакетов, работа с другими аккаунтами) — доступен только crontab пользователя сайта
  • Нужна цепочка зависимых шагов с условной логикой — cron умеет только грубую склейку команд через && в одной строке
  • Задачу должно запускать внешнее событие (webhook, изменение файла, платёж от платёжной системы), а не время по расписанию — cron реагирует только на часы, а не на события

Проверка результата

После создания задачи убедитесь, что она реально выполняется и не падает молча — подробный разбор системных логов есть в статье про логи и диагностику ISPmanager 6, а специфику cron именно для WordPress — в статье про WordPress в ISPmanager 6. Простое правило: если после трёх запусков в логе демона нет ни одной строки с именем вашей задачи — проблема не в PHP-скрипте, а в самой записи crontab.

# Посмотреть список системных cron-задач конкретного пользователя
crontab -l -u user1

# Проверить последний вызов скрипта в логе домена
tail -n 50 /var/www/user1/data/logs/example.com.log | grep cron.php
Статья помогла?
← Назад в базу знаний Задать вопрос поддержке