Перейти к содержанию

Справочник CLI

Все команды запускаются через CLI плагинов Grav из корня установки Grav:

bin/plugin forum-pro <command> [options]

Краткий справочник

Команда Что делает Безопасна на работающем форуме?
status Показывает состояние подключения, схемы, заданий и планировщика Да, только чтение
migrate Применяет ожидающие миграции базы данных Да, с блокировкой запуска
work Один раз обрабатывает фоновые задания Да
recount Исправляет денормализованные счётчики Да
reindex Перестраивает полнотекстовый поисковый индекс Да, поиск неполон во время работы
rerender Повторно отрисовывает сохранённые сообщения через цепочку обработки текста Да
integrity Отчёт о согласованности только для чтения Да, только чтение
import-discourse Импортирует резервную копию Discourse Используйте режим обслуживания
import-xenforo Импортирует дамп XenForo 2 и папки с файлами Используйте режим обслуживания
files-sync Отправляет локальные blob-объекты в S3/R2 Да, идемпотентна
avatars-sync Переносит старые аватары в blob-хранилище Да, идемпотентна
ai-scan Один раз запускает проверку спама с помощью ИИ Да

status

bin/plugin forum-pro status

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

Та же информация есть в Admin → Forum → Status, включая точную строку crontab для вашей установки.

migrate

bin/plugin forum-pro migrate --status   # показать, что будет выполнено
bin/plugin forum-pro migrate            # применить

Применяет ожидающие миграции. Миграции берут блокировку запуска базы данных, поэтому два одновременных запуска никогда не применят один шаг дважды, и команду безопасно вызывать из скрипта развёртывания.

То, применяются ли миграции автоматически, определяется параметром auto_migrate. См. Установку.

work

bin/plugin forum-pro work

Один раз обрабатывает очередь фоновых заданий: доставку почты, выдачу значков, очистку по срокам хранения, очистку сессий, подсчёт просмотров и запланированные проверки.

В рабочем окружении эта команда запускается планировщиком Grav. Вызывайте её вручную, чтобы проверить изменение настроек или разобрать накопившуюся очередь, не дожидаясь следующего тика.

Размер пакета и время выполнения ограничены блоком jobs:

jobs:
  max_jobs_per_run: 50
  max_seconds_per_run: 50
  stale_lock_seconds: 300

recount

bin/plugin forum-pro recount

Пересчитывает денормализованные счётчики (число тем, сообщений, ответов и реакций) по исходным строкам.

Forum Pro поддерживает эти счётчики в актуальном состоянии при создании и удалении контента, потому что подсчёт строк при каждом просмотре страницы не масштабируется. Запускайте recount после любой операции, записавшей данные в базу в обход обычного пути публикации, прежде всего после импорта.

reindex

bin/plugin forum-pro reindex

Удаляет и заново строит полнотекстовый поисковый индекс из таблицы сообщений. Запускайте после импорта, смены search.engine или после rerender.

Безопасно на работающем форуме. Результаты поиска просто будут неполными, пока команда выполняется.

rerender

bin/plugin forum-pro rerender

Повторно отрисовывает каждое сохранённое сообщение через цепочку Markdown и обработки текста, включая ссылки на упоминания. Запускайте после изменения, влияющего на отображение сообщений: новая версия codesh, изменение настройки Markdown, исправление отображения упоминаний или плагин, который начал слушать onForumProRenderBody. Отрендеренный HTML хранится вместе с сообщением, поэтому новый слушатель доберётся до существующих сообщений только через эту команду.

После неё запустите reindex, поскольку поиск индексирует отрендеренный текст.

integrity

bin/plugin forum-pro integrity

Отчёт только для чтения о согласованности, включающий висячие ссылки и расхождение счётчиков. Он ничего не меняет, поэтому его безопасно запускать в любое время и полезно после импорта или крупного действия модерации. Если он сообщает о расхождении счётчиков, исправлением будет recount.

import-discourse

bin/plugin forum-pro import-discourse backup.sql.gz \
    --source-url https://discourse.example.com \
    --download-files
Параметр Назначение
--source-url Базовый URL старого форума для перезаписи ссылок и загрузки файлов
--download-files Перенести упомянутые изображения, вложения и аватары в ваше хранилище
--files-only Пропустить контент и выполнить только проход по файлам
--delay-ms Задержка в миллисекундах между загрузками файлов

Команда идемпотентна и поддерживает возобновление. Полное руководство см. в разделе Миграция из Discourse.

import-xenforo

bin/plugin forum-pro import-xenforo dump.sql.gz \
    --source-url https://forum.example.org \
    --xf-root /path/to/xenforo
Параметр Назначение
--source-url Базовый URL старого форума, включая подпапку, для перезаписи ссылок
--xf-root Установка XenForo; из неё читаются internal_data/attachments и data/avatars
--attachments-dir, --avatars-dir Переопределить каждую папку отдельно
--skip-files Только данные, без вложений и аватаров
--prefixes tag|title|skip Префиксы тем как метки (по умолчанию), в заголовке или отброшены
--skip-pms Не импортировать беседы
--default-section Название раздела для форумов без категории верхнего уровня

Читает обычный дамп mysqldump или экспорт phpMyAdmin, с gzip или без, не требуя сервера MySQL. Команда идемпотентна и поддерживает возобновление. Полное руководство, включая сопоставление реакций и чтение отчёта, см. в разделе Миграция из XenForo.

files-sync

bin/plugin forum-pro files-sync

Отправляет существующие локальные blob-объекты в настроенный S3-совместимый бакет. Команда идемпотентна, поэтому прерванный запуск продолжается при повторном выполнении. См. Файловое хранилище.

avatars-sync

bin/plugin forum-pro avatars-sync

Переносит аватары, хранящиеся вне blob-хранилища (из старой структуры или импорта), в контентно-адресуемое хранилище. Команда идемпотентна.

ai-scan

bin/plugin forum-pro ai-scan

Запускает проверку спама с помощью ИИ один раз и немедленно, не дожидаясь ежечасного расписания. Требует ai_spam.enabled и плагин AI Pro. Полезно, чтобы проверить настройки провайдера, прежде чем доверять им работу без присмотра.

Типичные последовательности

После импорта

bin/plugin forum-pro recount
bin/plugin forum-pro reindex
bin/plugin forum-pro integrity

После изменения отображения сообщений

bin/plugin forum-pro rerender
bin/plugin forum-pro reindex

Перенос файлов в R2

bin/plugin forum-pro files-sync
bin/plugin forum-pro avatars-sync

В скрипте развёртывания

bin/plugin forum-pro migrate
bin/plugin forum-pro status