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

SkillDescription
1c-ai-agent-cliCLI 1C BSL Agent Framework — tools/install.py (clone, install). Используй при клонировании репозитория, установке компонентов в проект, настройке IDE (Cursor, Claude Code, Windsurf, VS Code+Continue).
agent-debugПаттерн отладочных сообщений для 1С BSL. Используй, когда стандартная диагностика (event-log, скриншоты) не даёт понять фактическое поведение системы — нужно вставить временные точки логирования в код, запустить тест и проанализировать записи ЖР.
agent-developmentCreate custom subagents for specialized AI tasks. Use when the user wants to create a new type of subagent, set up task-specific agents, configure code reviewers, debuggers, or domain-specific assistants with custom prompts.
agent-development-ext>
agent-git-workflowStandardizes git workflow for the AI agent in the sandbox devcontainer: work in agent/<task>-<yyyymmdd>, integrate via agent, never push to main/master, open PRs via GitHub CLI. Use when the user asks to create branches, push changes, open PRs, or follow this sandbox repo setup.
auto-skill-bootstrapDeterministic helper to inventory existing project skills, detect missing capability coverage, search skills.sh via Skills CLI, and (optionally) install missing skills under a trust policy. Uses skills-manifest.json + state.json to stay idempotent across changing requirements.
code-navigationНавигация по коду (Code Navigation). Навык учит агента **эффективно перемещаться по BSL-коду** с помощью LSP (Language Server Protocol).
config-operationsОперации с конфигурацией 1С (CF) — init, info, edit, validate. Используй при создании конфигурации, анализе структуры, изменении свойств и ChildObjects, валидации Configuration.xml.
epf-buildСобрать EPF/ERF из XML-исходников. Используй после внесения временных диагностических правок в разобранную обработку.
epf-dumpРазобрать EPF/ERF в XML-исходники. Используй, когда нужно быстро получить исходный код внешней обработки или отчета для анализа и временной модификации.