Руководство по OCC - управление Nextcloud из командной строки
Если вы администратор Nextcloud, вы привыкли управлять своим сервером через веб-интерфейс. Но для мощного автоматизированного контроля, особенно на серверах без графического интерфейса, нет ничего лучше командной строки. Nextcloud предоставляет для этого универсальный инструмент — occ.
occ (от OwnCloud Console) — это интерфейс командной строки для администрирования вашего Nextcloud. С его помощью вы можете управлять пользователями, приложениями, настройками и выполнять техническое обслуживание быстро и эффективно, часто с помощью скриптов.
Здесь я рассмотрю основные команды occ и покажу, как они могут упростить вашу жизнь.
Как использовать OCC
Поскольку occ — это скрипт PHP, для его запуска необходимо использовать интерпретатор PHP. Он находится в корневой директории вашего Nextcloud.
Базовый синтаксис:
sudo -u www-data php occ [команда] [аргументы] [--опции]Важные пояснения:
sudo -u www-data: Запуск от имени пользователя веб-сервера (обычноwww-dataв Ubuntu/Debian илиapacheв CentOS/RHEL). Это критически важно для корректных прав доступа к файлам.php: Явный вызов интерпретатора PHP.occ: Сам скрипт.[команда] [аргументы] [--опции]: Конкретная команда и ее параметры.
Проверка установки:
Первым делом убедитесь, что occ доступен, и проверьте версию Nextcloud.
sudo -u www-data php occ statusПример вывода:
- installed: true
- version: 31.0.10.2
- versionstring: 31.0.10
- edition:Категории и основные команды OCC
Давайте сгруппируем команды по их назначению.
1. Команды для управления системой и обслуживания
Эти команды необходимы для поддержания здоровья и производительности вашего сервера.
maintenance:mode— Включение/выключение режима обслуживания. Отключает веб-интерфейс для всех пользователей (кроме админов), что необходимо для установки приложений, обновления или резервного копирования.- Включить:
sudo -u www-data php occ maintenance:mode --on - Выключить:
sudo -u www-data php occ maintenance:mode --off - Проверить статус:
sudo -u www-data php occ maintenance:mode
- Включить:
maintenance:repair— Исправление различных проблем. Может исправить повреждения в базе данных или файловом хранилище.- Исправить базу данных:
sudo -u www-data php occ maintenance:repair - Исправить шары (shares):
sudo -u www-data php occ maintenance:repair --include-expensive - Исправить все возможные проблемы:
sudo -u www-data php occ maintenance:repair --include-expensive --all-apps
- Исправить базу данных:
2. Команды для управления пользователями и группами
Автоматизация управления учетными записями — одна из сильнейших сторон occ.
user:add— Добавление нового пользователя.- Пример: Создать пользователя
ivanovс отображаемым именем "Иван Иванов" и добавить его в группыusersиmanagers.sudo -u www-data php occ user:add ivanov --display-name="Иван Иванов" --group="users" --group="managers" - Пример (простой):
sudo -u www-data php occ user:add petrov
- Пример: Создать пользователя
user:resetpassword— Сброс пароля пользователя.- Пример: Сбросить пароль для пользователя
ivanov.После ввода команды вас попросят ввести новый пароль.sudo -u www-data php occ user:resetpassword ivanov
- Пример: Сбросить пароль для пользователя
user:list— Просмотр списка пользователей.- Пример: Показать всех пользователей.
sudo -u www-data php occ user:list - Пример: Показать пользователей в группе
managers.sudo -u www-data php occ user:list --group="managers" - Пример: Показать пользователей, которые не входят в группу
users.sudo -u www-data php occ user:list --groups --less "users"
- Пример: Показать всех пользователей.
user:info— Просмотр информации о пользователе.- Пример:
sudo -u www-data php occ user:info ivanov
- Пример:
group:add— Создание новой группы.- Пример:
sudo -u www-data php occ group:add new_interns
- Пример:
group:list— Просмотр списка групп.- Пример:
sudo -u www-data php occ group:list
- Пример:
3. Команды для управления приложениями (apps)
Управление приложениями через CLI быстрее и идеально подходит для развертывания.
app:list— Просмотр списка приложений.- Пример: Показать все приложения.
sudo -u www-data php occ app:list - Пример: Показать только включенные приложения.
sudo -u www-data php occ app:list --enabled - Пример: Показать только отключенные приложения.
sudo -u www-data php occ app:list --disabled
- Пример: Показать все приложения.
app:enable— Включение приложения.- Пример:
sudo -u www-data php occ app:enable contacts
- Пример:
app:disable— Отключение приложения.- Пример:
sudo -u www-data php occ app:disable contacts
- Пример:
app:install— Установка приложения из App Store.- Пример:
sudo -u www-data php occ app:install notes
- Пример:
app:update— Обновить приложение или все приложения.- Пример: Обновить приложение.
sudo -u www-data php occ app:update contacts - Пример: Обновить все приложения.
sudo -u www-data php occ app:update --all - Пример: Показать доступные обновления, без обновления.
sudo -u www-data php occ app:update --showonly
- Пример: Обновить приложение.
app:remove— Полное удаление приложения.- Пример:
sudo -u www-data php occ app:remove notes
- Пример:
4. Другие полезные команды
config:system:set— Прямое изменение системных настроек вconfig.php.- Пример: Включить отладочный режим.
sudo -u www-data php occ config:system:set debug --value=true --type=boolean - Пример: Изменить доверенный домен.
sudo -u www-data php occ config:system:set trusted_domains 1 --value=cloud.mydomain.com - Пример: Установить регион по умолчанию для номеров телефонов.
sudo -u www-data php occ config:system:set default_phone_region --value="RU"
- Пример: Включить отладочный режим.
security:bruteforce:reset— Сброс записей о попытках брутфорса для определённого IP-адреса.- Пример:
sudo -u www-data php occ security:bruteforce:reset 192.168.1.1
- Пример:
files:scan— Пересканирование файлового хранилища. Принудительно обновляет индекс базы данных, если файлы были добавлены или изменены в обход Nextcloud (например, через SSH).- Пример: Просканировать все файлы всех пользователей.
sudo -u www-data php occ files:scan --all - Пример: Просканировать файлы конкретного пользователя.
sudo -u www-data php occ files:scan ivanov
- Пример: Просканировать все файлы всех пользователей.
Советы и лучшие практики
- Всегда используйте
sudo -u www-data. Это предотвращает проблемы с правами доступа к файлам и базе данных. - Резервное копирование. Перед выполнением потенциально опасных операций (особенно
maintenance:repairили удаление пользователей) всегда делайте резервную копию базы данных и директорииdata. - Справка. Чтобы получить справку по любой команде, используйте флаг
--help.sudo -u www-data php occ user:add --help
Заключение
Интерфейс командной строки occ — это не просто альтернатива веб-интерфейсу, а мощный инструмент, который открывает путь к профессиональному администрированию Nextcloud. Он позволяет автоматизировать рутинные задачи, интегрировать управление Nextcloud в ваши скрипты развертывания и эффективно решать проблемы.
Освоив эти команды, вы сможете управлять своим Nextcloud-сервером с непревзойденной скоростью и точностью.
Источники:
Документация Nextcloud