---
read_when:
    - Вам нужен полноценный архив резервной копии локального состояния OpenClaw
    - Вам нужен компактный, проверенный снимок одной базы данных SQLite OpenClaw
    - Вы хотите предварительно просмотреть, какие пути будут включены перед сбросом или удалением.
summary: Справочник CLI для `openclaw backup` (архивы и снимки SQLite)
title: Резервное копирование
x-i18n:
    generated_at: "2026-07-13T18:00:00Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 6f52d6c96feb08862d2f666c0ed777f5ecb12713a10d6a8ec4cc0374d015250d
    source_path: cli/backup.md
    workflow: 16
---

# `openclaw backup`

Создайте локальный архив резервной копии состояния OpenClaw, конфигурации, профилей аутентификации, учетных данных каналов и провайдеров, сеансов и, при необходимости, рабочих пространств.

```bash
openclaw backup create
openclaw backup create --output ~/Backups
openclaw backup create --dry-run --json
openclaw backup create --verify
openclaw backup create --no-include-workspace
openclaw backup create --only-config
openclaw backup verify ./2026-03-09T08-00-00.000+08-00-openclaw-backup.tar.gz
openclaw backup sqlite create --global --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite create --agent main --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite list --repository ~/Backups/openclaw-sqlite
openclaw backup sqlite verify ~/Backups/openclaw-sqlite/<snapshot-id>
openclaw backup sqlite verify ~/Backups/openclaw-sqlite/<snapshot-id> --scratch ~/Private/openclaw-scratch
openclaw backup sqlite restore ~/Backups/openclaw-sqlite/<snapshot-id> --target ./restored/openclaw.sqlite
```

## Примечания

- В архив встроен `manifest.json` с разрешенными исходными путями и структурой архива.
- По умолчанию в текущем рабочем каталоге создается архив `.tar.gz` с меткой времени. В именах файлов с меткой времени используется локальный часовой пояс вашего компьютера и указывается смещение относительно UTC. Если текущий рабочий каталог находится внутри резервируемого дерева исходных данных, OpenClaw использует домашний каталог в качестве расположения архива по умолчанию.
- Существующие файлы архивов никогда не перезаписываются. Выходные пути внутри исходных деревьев состояния или рабочих пространств отклоняются во избежание включения архива самого в себя.
- `openclaw backup verify <archive>` проверяет, что архив содержит ровно один корневой манифест, отклоняет пути архива с обходом каталогов и сопутствующие файлы SQLite, подтверждает наличие всех данных, объявленных в манифесте, проверяет структуру файлов каждого снимка SQLite и выполняет полную проверку целостности и ролей канонических баз данных OpenClaw. Выделенные схемы плагинов остаются непрозрачными, поскольку для них могут требоваться определенные владельцем возможности SQLite. `openclaw backup create --verify` выполняет эту проверку сразу после записи архива.
- `openclaw backup create --only-config` создает резервную копию только активного файла конфигурации JSON.

## Снимки SQLite

Используйте `openclaw backup sqlite`, когда вместо обширного архива состояния требуется переносимый артефакт одной базы данных SQLite, принадлежащей OpenClaw.

При создании снимка необходимо указать ровно один именованный источник:

| Команда                                                         | База данных               |
| --------------------------------------------------------------- | ------------------------- |
| `openclaw backup sqlite create --global --repository <dir>`     | Общее состояние OpenClaw  |
| `openclaw backup sqlite create --agent <id> --repository <dir>` | Отдельная база данных агента |

Репозиторий содержит по одному каталогу на каждый зафиксированный снимок. Каждый каталог снимка содержит ровно:

- `manifest.json`
- `database.sqlite`

При создании снимка рабочая база данных проверяется перед чтением, затем с помощью SQLite `VACUUM INTO` зафиксированное состояние WAL сохраняется в компактную базу данных, созданная база данных проверяется повторно, а завершенный каталог публикуется без перезаписи существующих путей. Из глобальных снимков удаляются временные строки очереди доставки, после чего база снова уплотняется, чтобы удаленные данные очереди не сохранялись на свободных страницах.

Не копируйте рабочие файлы `.sqlite`, `-wal`, `-shm` или `-journal` в качестве переносимого артефакта. Копируйте только завершенные каталоги снимков.

Снимки SQLite могут содержать профили аутентификации, состояние сеансов, состояние плагинов и другие конфиденциальные записи. Защищайте репозитории с помощью тех же разрешений, шифрования, политики хранения и ограничений мест назначения, что и рабочий каталог состояния OpenClaw.

### Проверка и восстановление

```bash
openclaw backup sqlite verify <snapshot-directory>
openclaw backup sqlite restore <snapshot-directory> --target <new-database-path>
```

Проверка контролирует строгую структуру манифеста, размер артефакта и SHA-256, целостность SQLite, внешние ключи, версию схемы, роль и владельца базы данных, а также определения индексов, принадлежащих OpenClaw.

Проверка выполняется на закрытой копии с привязкой к содержимому, чтобы подмена пути не позволила заменить байты, проверяемые SQLite. По умолчанию эта временная копия создается рядом с репозиторием снимков и удаляется до завершения команды. Корень промежуточного каталога и вся цепочка его предков должны исключать возможность его подмены другими пользователями. Корни POSIX должны принадлежать текущему пользователю и не допускать запись для группы или всех пользователей; предки с sticky-битом, такие как `/tmp`, допускаются для дочерних объектов, принадлежащих пользователю. Разрешения ACL macOS, открывающие промежуточный каталог или позволяющие его подменить, отклоняются. Корни Windows и их предки должны принадлежать текущему пользователю или доверенному субъекту ОС, а правила ACL должны запрещать недоверенный доступ к промежуточному каталогу. Для файловой системы, смонтированной только для чтения, или сетевого ресурса передайте `--scratch <existing-private-directory>`, указав хранилище с эквивалентными средствами шифрования и контроля места назначения.

При создании снимка к репозиторию до промежуточной записи или публикации байтов базы данных применяются те же проверки владельца, ACL, предков и идентичности пути.

Восстановление повторяет проверку и выполняет запись только в новый целевой объект. Оно отклоняет существующий целевой объект и сопутствующие файлы `-wal`, `-shm` или `-journal`, а также никогда не заменяет рабочую базу данных OpenClaw на месте. К родительскому каталогу целевого объекта применяются те же требования безопасности пути, что и к временному каталогу проверки. Активация восстановленной базы данных остается явным автономным действием оператора.

Репозитории снимков являются локальными каталогами. Планирование, отправка, хранение, инкрементные пакеты WAL, аварийное переключение и восстановление при загрузке намеренно не входят в область действия этой команды.

## Что включается в резервную копию

`openclaw backup create` планирует источники из локальной установки OpenClaw:

- Каталог состояния (обычно `~/.openclaw`)
- Путь к активному файлу конфигурации
- Разрешенный каталог `credentials/`, если он находится вне каталога состояния
- Каталоги рабочих пространств, обнаруженные в текущей конфигурации, если не передан `--no-include-workspace`

Профили аутентификации и другое состояние среды выполнения для отдельных агентов хранятся в SQLite в каталоге состояния (`agents/<agentId>/agent/openclaw-agent.sqlite`), поэтому они автоматически включаются в резервную копию состояния.

`--only-config` пропускает состояние, каталог учетных данных и обнаружение рабочих пространств и архивирует только активный файл конфигурации.

Перед созданием архива OpenClaw канонизирует пути: если конфигурация, каталог учетных данных или рабочее пространство уже находятся внутри каталога состояния, они не дублируются как отдельные источники верхнего уровня. Отсутствующие пути пропускаются.

При создании архива OpenClaw исключает известные пути, изменяемые во время работы, прежде чем `tar` начинает их чтение. Это предотвращает состояния гонки между зафиксированным размером файла и параллельной записью. Для каждого резервируемого каталога состояния фильтр применяет следующие правила относительно каталога состояния:

| Область относительно каталога состояния       | Пропускаемые суффиксы файлов |
| ---------------------------------------------- | ---------------------------- |
| `sessions/**`                                | `.jsonl`, `.log`              |
| `agents/<agentId>/sessions/**`               | `.jsonl`, `.log`              |
| `cron/runs/**`                               | `.jsonl`, `.log`              |
| `logs/**`                                    | `.jsonl`, `.log`              |
| `delivery-queue/**`                          | `.json`, `.delivered`, `.tmp` |
| `session-delivery-queue/**`                  | `.json`, `.delivered`, `.tmp` |
| Любой путь в резервируемом каталоге состояния | `.sock`, `.pid`, `.tmp`       |

Эти правила не фильтруют файлы рабочих пространств за пределами каталога состояния. Они также исключают завершенные файлы расшифровок и журналов, соответствующие таблице, поэтому при необходимости храните эти записи отдельно. Поле `skippedVolatileCount` в результате JSON сообщает количество намеренно пропущенных файлов.

Базы данных SQLite в каталоге состояния уплотняются с помощью `VACUUM INTO`, чтобы остатки удаленных страниц не попадали в архив, а рабочие файлы WAL/SHM не копировались. Если для базы данных, принадлежащей плагину, требуются недоступные возможности SQLite, определенные владельцем, операция завершается с ошибкой вместо отката к необработанному копированию страниц. Файлы SQLite, включенные через резервные копии рабочих пространств, копируются как обычные файлы рабочих пространств и не охватываются гарантией уплотнения.

Исходные файлы и манифесты установленных плагинов в дереве `extensions/` каталога состояния включаются, но их вложенные деревья зависимостей `node_modules/` пропускаются как восстанавливаемые артефакты установки. После восстановления архива используйте `openclaw plugins update <id>` или переустановите с помощью `openclaw plugins install <spec> --force`, если восстановленный плагин сообщает об отсутствующих зависимостях.

## Поведение при недействительной конфигурации

`openclaw backup` обходит обычную предварительную проверку конфигурации, поэтому команда может помочь даже во время восстановления. Обнаружение рабочих пространств зависит от действительной конфигурации, поэтому `openclaw backup create` немедленно завершается с ошибкой, если файл конфигурации существует, но недействителен, а резервное копирование рабочих пространств по-прежнему включено.

Чтобы создать частичную резервную копию в такой ситуации, повторно запустите команду с `--no-include-workspace`: состояние, конфигурация и внешний каталог учетных данных останутся в области резервного копирования, а обнаружение рабочих пространств будет полностью пропущено.

`--only-config` также работает с некорректной конфигурацией, поскольку не анализирует ее для обнаружения рабочих пространств.

## Размер и производительность

OpenClaw не устанавливает встроенного максимального размера резервной копии или ограничения размера отдельного файла. Практические ограничения зависят от:

- Доступного пространства для временной записи архива и итогового архива
- Времени обхода больших деревьев рабочих пространств и их сжатия в `.tar.gz`
- Времени повторного сканирования архива с помощью `--verify` или `openclaw backup verify`
- Поведения целевой файловой системы: OpenClaw предпочитает публикацию через жесткую ссылку без перезаписи и при отсутствии поддержки жестких ссылок использует эксклюзивное копирование

Основным фактором размера архива обычно являются большие рабочие пространства. Используйте `--no-include-workspace` для создания меньшей и более быстрой резервной копии или `--only-config` для получения архива минимального размера.

## Связанные материалы

- [Справочник CLI](/ru/cli)
