Cron запускает команды сам, но одна ошибка ломает весь расписание
Системный cron удобен для WP-CLI, когда нужно без ручного запуска чистить кэш, делать поиск и замену, импорт или бэкапы. Главное — не писать длинные команды прямо в crontab, а выносить их в shell-скрипт: так проще читать логи, добавлять переменные окружения и менять путь к сайту.
Проверьте 4 вещи:
— полный путь к php и wp;
— рабочую директорию проекта;
— пользователя, от которого запускается задача;
— вывод ошибок в отдельный лог, иначе тихий сбой останется незаметным.
Если команда зависит от файлов сайта, всегда задавайте cd в корень WordPress перед запуском. Для надежности добавляйте редирект вывода в файл и ставьте lock-файл, чтобы новый запуск не стартовал, пока не завершился предыдущий. Иначе два процесса могут одновременно править базу или кэш. ⚙️
Для теста сначала запускайте команду вручную под тем же пользователем, что и cron. Если в терминале работает, а в cron нет — почти всегда проблема в путях, правах или окружении shell.
Лучший cron — тот, который не требует вспоминать, где он лежит: одна команда, один лог, один понятный скрипт.
WP-CLI и командная строка
@wp_cli_tricks_ww
Cron запускает команды сам, но одна ошибка ломает весь расписание
Этот пост опубликован в Telegram-канале WP-CLI и командная строка. Подписаться можно по ссылке: @wp_cli_tricks_ww.