Время от времени владельцы облачных серверов на базе 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
Эта команда:
Проверка базы данных:
sudo -u www-data php ./occ db:add-missing-indices
Эта команда:
Обновление базы данных MIME-типов:
sudo -u www-data php ./occ maintenance:mimetype:update-db
Эта команда:
Сканирование файлов, зашифрованных в устаревшем формате:
sudo -u www-data php ./occ encryption:scan:legacy-format
Эта команда:
В текущее на момент написания время почти не имеет актуальности. Хотя, все возможно на этом свете).
Включение/выключение режима обслуживания Nextcloud:
sudo -u www-data php ./occ maintenance:mode --on sudo -u www-data php ./occ maintenance:mode --off
Эта команда с флагом –on:
Эта команда с флагом –off:
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
Эта команда: