rac-use

$npx mdskill add SteelMorgan/1c-agent-based-dev-framework/rac-use

Administers 1C server clusters via RAC utility to manage sessions, locks, connections, and databases.

  • Helps developers monitor and control cluster sessions, locks, connections, and information bases.
  • Integrates with the RAC binary tool and uses connection details from YAML configuration files.
  • Executes commands based on specific triggers like session termination or database locking needs.
  • Presents results through command-line outputs, including cluster UUIDs and operational statuses.
SKILL.md
.github/skills/rac-useView on GitHub ↗
---
name: rac-use
description: Администрирование кластера серверов 1С через утилиту RAC — просмотр/завершение сеансов, управление блокировками, соединениями, информационными базами и другими объектами кластера.
---

# RAC — утилита администрирования кластера 1С

## Когда применять

| Триггер | Действие |
|---------|----------|
| Нужно проверить/убить сеансы в базе | `session list` / `session terminate` |
| Нужно отключить соединения | `connection list` / `connection disconnect` |
| Нужно заблокировать вход в базу | `infobase update --sessions-deny=on` |
| Нужно запретить регл. задания | `infobase update --scheduled-jobs-deny=on` |
| Нужно посмотреть блокировки | `lock list` |
| Нужна информация о кластере/базах | `cluster list` / `infobase summary list` |

---

## Подключение

**Бинарник:** `/opt/1cv8/current/rac` (всегда актуальная версия).

**Данные подключения:** `<project_root>/configs/yaxunit-runner.yml`, секция `app.connection` — сервер, база, логин, пароль.

**Адрес агента кластера:** по умолчанию `localhost:1545`. Если сервер отличается — указать явно как последний аргумент: `rac <command> <host>:<port>`.

---

## Первый шаг — получить cluster UUID

Все команды требуют `--cluster=<uuid>`. Получи его первым:

```bash
/opt/1cv8/current/rac cluster list
```

Вывод содержит `cluster : <uuid>` — запомни и используй далее.

---

## Основные сценарии

### Просмотр сеансов базы

```bash
# Найти UUID базы
/opt/1cv8/current/rac infobase --cluster=<cluster_uuid> summary list

# Список сеансов базы
/opt/1cv8/current/rac session --cluster=<cluster_uuid> list --infobase=<infobase_uuid>
```

### Принудительное завершение сеанса

```bash
/opt/1cv8/current/rac session --cluster=<cluster_uuid> terminate \
  --session=<session_uuid> \
  --error-message="Сеанс завершён агентом для выполнения задачи"
```

### Блокировка входа в базу

```bash
# Включить блокировку
/opt/1cv8/current/rac infobase --cluster=<cluster_uuid> update \
  --infobase=<infobase_uuid> \
  --infobase-user=<user> --infobase-pwd=<pwd> \
  --sessions-deny=on \
  --denied-message="База заблокирована для обслуживания" \
  --permission-code="secret123"

# Снять блокировку
/opt/1cv8/current/rac infobase --cluster=<cluster_uuid> update \
  --infobase=<infobase_uuid> \
  --infobase-user=<user> --infobase-pwd=<pwd> \
  --sessions-deny=off
```

### Управление регламентными заданиями

```bash
# Запретить
/opt/1cv8/current/rac infobase --cluster=<cluster_uuid> update \
  --infobase=<infobase_uuid> \
  --infobase-user=<user> --infobase-pwd=<pwd> \
  --scheduled-jobs-deny=on

# Разрешить
/opt/1cv8/current/rac infobase --cluster=<cluster_uuid> update \
  --infobase=<infobase_uuid> \
  --infobase-user=<user> --infobase-pwd=<pwd> \
  --scheduled-jobs-deny=off
```

### Просмотр блокировок

```bash
/opt/1cv8/current/rac lock --cluster=<cluster_uuid> list --infobase=<infobase_uuid>
```

### Просмотр и разрыв соединений

```bash
# Список соединений базы
/opt/1cv8/current/rac connection --cluster=<cluster_uuid> list --infobase=<infobase_uuid>

# Разрыв конкретного соединения
/opt/1cv8/current/rac connection --cluster=<cluster_uuid> disconnect \
  --process=<process_uuid> --connection=<connection_uuid>
```

---

## Все режимы RAC

| Режим | Назначение |
|-------|-----------|
| `cluster` | Кластеры: список, создание, удаление, администраторы |
| `infobase` | Информационные базы: создание, обновление, удаление, блокировка сеансов/рег.заданий |
| `session` | Сеансы: список, информация, принудительное завершение |
| `connection` | Соединения: список, разрыв |
| `lock` | Блокировки: просмотр |
| `process` | Рабочие процессы |
| `server` | Рабочие серверы |
| `manager` | Менеджеры кластера |
| `agent` | Агент кластера |
| `service` | Сервисы менеджера |
| `rule` | Требования назначения |
| `profile` | Профили безопасности |
| `counter` | Счётчики потребления ресурсов |
| `limit` | Ограничения потребления ресурсов |

Справка по любому режиму: `rac help <mode>`.

---

## Типичные ошибки

| Ошибка | Причина | Решение |
|--------|---------|---------|
| `Агент кластера недоступен` | Не запущен `ragent` или неверный адрес | Проверить `localhost:1545` или указать правильный адрес |
| `Неверный идентификатор кластера` | UUID скопирован с ошибкой | Повторить `cluster list` |
| `Недостаточно прав` | Нужны credentials администратора кластера | Добавить `--cluster-user` / `--cluster-pwd` |
| `Информационная база не найдена` | Неверный UUID базы | Проверить через `infobase summary list` |

---
depends_on:
  - framework/skills/tool-usage/vanessa/vanessa-run/SKILL.md
requires:
  - tools
---
More from SteelMorgan/1c-agent-based-dev-framework