Обслуживание¶
Система не нуждается в обязательном обслуживании. Резервное копирование выполняется автоматически (как выполнить его вручную или восстановить резервную копию). Но в контейнере присутствуют команды, которые могут упростить доступ к консольным командам userside и к командам из окружения в случае если вы знаете, что делаете.
Синтаксис вызова команд¶
Находясь в каталоге /opt/userside
нужно вызвать команду внутри работающего контейнера userside
.
Например, для вызова команды run
нужно выполнить:
docker compose exec userside run
Список команд¶
run¶
Консольная команда userside. Может применяться для управления учетными записями пользователей:
docker compose exec userside run credentials
docker compose exec userside run credentials/block <username>
docker compose exec userside run credentials/unblock <username>
docker compose exec userside run credentials/password-reset <username>
Для ручного запуска планировщика:
docker compose exec userside run cron
Для отображения состояния системы:
docker compose exec userside run health
docker compose exec userside run health/rabbit-exchanges
docker compose exec userside run health/rabbit-queues
docker compose exec userside run health/redis-keyspaces
docker compose exec userside run health/postgres-dbsize
docker compose exec userside run health/postgres-tablesize
psql¶
Вызывает интерактивный терминал PostgreSQL — psql. Для доступа к базе данных userside не нужно вводить никаких дополнительных параметров — все необходимые параметры для доступа к базе данных передаются автоматически. Чтобы открыть консольный клиент достаточно выполнить (Выход Ctrl + D):
Вызов psql для контейнера userside¶
Этот вызов проще, так как все необходимые параметры подставляются автоматически внутри контейнера userside:
docker compose exec userside psql
Но также можно указать необходимые параметры для psql
, например, выполнить запрос:
docker compose exec userside psql -c "SELECT VERSION()"
Вызов psql для контейнера postgres¶
Этот вызов выполняется напрямую к контейнеру с PostgreSQL и подходит если контейнер userside не активен или если нужно получить доступ к контейнеру с PostgreSQL напрямую:
docker compose exec postgres psql -U userside
Для выхода из psql введите \q
(или нажмите Ctrl + D).
Подробней о psql читайте в официальной документации.
pg_dump¶
Вызывает инструмент для выгрузки базы данных в виде скрипта или в архивном виде.
При вызове для контейнера userside так же, как и psql
, не требует указания параметров для доступа к базе данных — все они передаются автоматически. Этот вариант используется командой backup
, описанной ниже. При вызове для контейнера postgres необходимо передать имя пользователя. Может применяться в случае, если вам нужен полный контроль над выполнением резервной копии базы данных.
Обычно в использовании этой команды нет необходимости, но если вам нужно выгрузить, например, данные какой-то одной таблицы в каком-то определенном формате, например, только данных из таблицы notification в формате команд INSERT без команд создания таблицы и без команд назначения владельцев (как показано далее), то вы можете использовать следующую команду.
Вызов pg_dump для контейнера userside¶
docker compose exec userside pg_dump \
--inserts \
--data-only \
--format=plain \
--no-owner \
--no-acl \
--table=notification > notification_table_data.sql
Вызов pg_dump для контейнера postgres¶
docker compose exec postgres pg_dump \
-U userside \
--inserts \
--data-only \
--format=plain \
--no-owner \
--no-acl \
--table=notification > notification_table_data.sql
Подробней о pg_dump читайте в официальной документации.
backup¶
Команда выполняет резервное копирование базы данных в каталог /backup
, в который смонтирован том /opt/userside/data/backup
на вашем сервере. Команда вызывается без параметров.
docker compose exec userside backup
Подробней про резервное копирование и восстановление читайте в соответствующем разделе.
migrations¶
Команда вызывает запуск миграций базы данных. Эта команда выполняется автоматически при запуске контейнера, если обнаруживается необходимость в выполнении миграций. Ручной запуск этой команды может потребоваться при попытке перехода с относительно старой версии userside (например, 3.12-3.14), если в процессе миграции при запуске контейнера были обнаружены проблемы и затем устранены вручную в базе данных. В нормальном состоянии системы эта команда не требует ручного запуска. Вызывается без параметров следующим образом:
docker compose exec userside migrations
redis-cli¶
Команда вызывает консольный клиент redis-cli
, который уже настроен для подключения к базе данных Redis userside. При выполнении команды будет открыта консоль redis-клиента, в которую вы можете вводить команды Redis. Выход Ctrl + D. Пример вызова команды:
docker compose exec userside redis-cli
Подробней о redis-cli читайте в официальной документации.