UCS - коллекция мануалов

Практика - критерий истины...

Инструменты пользователя

Инструменты сайта


linux:nextcloud

Команды, используемые для управления NextCloud в терминале

Время от времени владельцы облачных серверов на базе NextCloud сталкиваются с различными проблемами в веб-интерфейсе, которые либо проще, либо можно решить только в CLI. Для этого надо воспользоваться средствами относительно продуманного и мощного бэкенда данного сервиса, который может решить если не все, то почти все проблемы. Необходимо иметь доступ к серверу по SSH и необходимые привилегии для выполнения команд этого самого PHP CLI-бэкенда. Это больше памятка для меня, но если она вам поможет, я буду только рад.

Буду исходить из того, что мы уже находимся в каталоге NextCloud и так как каждый по своему именует его, то это поможет избежать путаницы. Допустим, что у вас этот каталог находится по пути /var/www/nextcloud или /var/www/cloud.domain.tld. Если мне придется в этой статье повторять пути, то я заменю имя и путь коренного каталога Nextcloud на «переменную» $NEXTCLOUD.

Итак, сначала заходим в него:

cd $NEXTCLOUD

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

ls -al occ
-rwxr-xr-x 1 www-data www-data 596 июл 10 07:54 occ

Убедились, продолжаем. Не забываем, что все команды выполняются от пользователя www-data (или другого вашего пользователя для веб-сервера).

Сканирование существующих файлов:

sudo -u www-data php ./occ files:scan --all

Эта команда:

  • Сканирует все файлы в хранилище Nextcloud (папка data/).
  • Обновляет базу данных: добавляет новые файлы, удаляет отсутствующие, фиксирует изменения.
  • Решает проблемы: если файлы не отображаются в Nextcloud после ручной загрузки на сервер.

Проверка базы данных:

sudo -u www-data php ./occ db:add-missing-indices

Эта команда:

  • Проверяет структуру базы данных Nextcloud на соответствие текущей версии.
  • Добавляет отсутствующие индексы в таблицы базы данных.
  • Оптимизирует производительность: ускоряет выполнение SQL-запросов (поиск, сортировка, фильтрация данных).
  • Решает проблемы: исправляет ошибки типа «Долгая операция с базой данных» в логах Nextcloud.

Обновление базы данных MIME-типов:

sudo -u www-data php ./occ maintenance:mimetype:update-db

Эта команда:

  • Обновляет базу данных MIME-типов в Nextcloud. Сопоставляет расширения файлов (например, .jpg, .odt) с их MIME-типами (image/jpeg, application/vnd.oasis.opendocument.text).
  • Исправляет ошибки отображения иконок файлов или некорректного определения типов. Требуется после ручного добавления новых типов файлов в систему или после глобальных обновлений Nextcloud, когда добавляются новые MIME-типы.

Сканирование файлов, зашифрованных в устаревшем формате:

sudo -u www-data php ./occ encryption:scan:legacy-format

Эта команда:

  • Сканирует файлы, зашифрованные в устаревшем формате (до Nextcloud 12), и автоматически конвертирует их в современный формат шифрования.
  • Решает проблемы доступа к файлам после обновления Nextcloud.
  • Гарантирует совместимость с текущей системой шифрования.

В текущее на момент написания время почти не имеет актуальности. Хотя, все возможно на этом свете).

Включение/выключение режима обслуживания Nextcloud:

sudo -u www-data php ./occ maintenance:mode --on
sudo -u www-data php ./occ maintenance:mode --off

Эта команда с флагом –on:

  • Включает режим обслуживания Nextcloud. Веб-интерфейс показывает: «Режим обслуживания». API возвращает статус 503.
  • Блокирует доступ пользователей на время обновлений, резервного копирования или критичных операций (предотвращает повреждение данных).

Эта команда с флагом –off:

  • Выключает режим обслуживания Nextcloud.
  • Возобновляет работу сервиса для пользователей после технических работ.
sudo -u www-data php ./occ maintenance:repair --include-expensive

Эта команда:

sudo -u www-data php ./occ integrity:check-core

Эта команда:

sudo -u www-data php ./occ app:list

Эта команда:

sudo -u www-data php ./occ app:disable

Эта команда:

sudo -u www-data php ./occ app:remove

Эта команда:

sudo -u www-data php ./occ app:install

Эта команда:

Просмотр наличия обновлений:

sudo -u www-data php ./occ upgrade

Эта команда:

Обновление через терминал, работает гораздо лучше, без обрывов обновления по тайм-аутам:

sudo -u www-data php updater/updater.phar

Эта команда:

Обычно после обновления я обнуляю лог сервиса, чтобы увидеть только текущие потенциальные проблемы:

cat /dev/null > data/nextcloud.log

Эта команда:

linux/nextcloud.txt · Последнее изменение: Luciferus