Вопрос

Резервное копирование OpenClaw: как сохранить состояние и восстановиться после сбоя

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

· 4 мин чтения

Коротко

  • Для полного состояния используйте openclaw backup create --verify: архив включает конфиг, учётные данные, сессии и базы агентов.
  • Не копируйте живые .sqlite, -wal, -shm и -journal: используйте встроенные команды OpenClaw.
  • Для регулярных копий настройте хранилище и запустите openclaw backup enable --to offsite --every 24h.
  • Перед восстановлением остановите Gateway и отключите автообновление через OPENCLAW_NO_AUTO_UPDATE=1.

Сверено с документацией OpenClaw 2026.10.7, 25 октября 2026.

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

Что входит в резервную копию

Основное состояние OpenClaw хранится в SQLite: общей базе state/openclaw.sqlite и базе каждого агента openclaw-agent.sqlite. Полный архив также берёт активный конфиг с зависимостями $include, профили авторизации, каналы и провайдеров, сессии и рабочие папки.

Рабочая папка агента по умолчанию находится в ~/.openclaw/workspace. Это память агента, а не часть конфига. Пути агентов могут лежать вне каталога состояния, поэтому проверьте agentDir у каждого агента.

Обычная копия файлов SQLite небезопасна. Базы пишутся во время работы Gateway, поэтому копирование живого .sqlite может дать повреждённый файл.

Создание локального архива

Сначала сохраните полный архив в отдельный каталог и проверьте его сразу после записи.

openclaw backup create --output ~/Backups/openclaw --verify

Без --output архив с меткой времени создаётся в текущем рабочем каталоге. Существующие файлы не перезаписываются. Путь внутри каталогов состояния или рабочей папки OpenClaw отклоняется, чтобы исключить включение архива в самого себя.

Если конфиг повреждён и полный архив не создаётся, сначала сохраните только активный JSON-файл конфигурации.

openclaw backup create --only-config --output ~/Backups/openclaw --verify

Этот вариант не включает зависимости $include, поэтому он не заменяет полный архив.

Снимки SQLite

Для отдельной базы создайте снимок. Он содержит manifest.json и database.sqlite; при создании записывается SHA-256, который проверка пересчитывает позже.

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 storage init offsite
openclaw storage test offsite
openclaw backup create --to offsite

При создании копии во внешнем хранилище OpenClaw проверяет архив перед загрузкой. Временный локальный файл после загрузки удаляется. Чтобы сохранить локальную копию, добавьте --output <path>; она останется обычным .tar.gz.

Для ежедневной защиты включите расписание Gateway.

openclaw backup enable --to offsite --every 24h --keep-daily 7 --keep-weekly 4 --keep-monthly 12

Шифрование и учётные данные настраиваются в хранилище. Пароль шифрования и маркер корневого каталога нужны для восстановления. Встроенный провайдер filesystem работает с существующим диском или смонтированным каталогом.

Восстановление и откат

Проверьте архив и восстановите его в отдельный каталог. Активируйте офлайн при остановленном Gateway.

openclaw backup verify ./2026-03-09T08-00-00.000+08-00-openclaw-backup.tar.gz
openclaw backup restore ./2026-03-09T08-00-00.000+08-00-openclaw-backup.tar.gz --target ./restored-openclaw

Для архива во внешнем хранилище используйте openclaw backup list --from offsite, затем openclaw backup verify --from offsite latest и openclaw backup restore --from offsite latest --target ./restored-openclaw.

Если старая версия не читает текущее состояние, восстановите проверенный архив, сделанный до обновления, и установите подходящий пакет OpenClaw. Архив не содержит сам пакет. Не смешивайте конфиг и базы из разных поколений.

openclaw --version
openclaw health
openclaw gateway status --deep --json
openclaw doctor --lint --json
openclaw update cleanup --dry-run

Частые ошибки

  • Копирование живых .sqlite, -wal, -shm или -journal вручную. Используйте openclaw backup create или openclaw backup sqlite create.
  • Использование --only-config как полного резервного набора: зависимости $include в него не входят.
  • Ожидание, что restore сразу запустит Gateway. Восстановление лишь подготавливает файлы, активация остаётся отдельным шагом вне сети.
  • Отсутствие пароля шифрования или маркера корневого каталога хранилища. Сохраните их отдельно до первой копии во внешнее хранилище.
  • Восстановление поверх работающего Gateway. Сначала остановите Gateway и отключите автообновление через OPENCLAW_NO_AUTO_UPDATE=1.