> ## Documentation Index
> Fetch the complete documentation index at: https://docs.ipmideck.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Резервное копирование и восстановление

> Создайте резервную копию каталога данных ipmideck (конфигурация, база данных и ключ шифрования) и восстановите его после переноса или пересборки.

Всё, что помнит ipmideck, находится в одном каталоге данных: ваш `config.yaml`, база данных SQLite
(`ipmideck.db`) с вашими серверами и историей датчиков, и файл `encryption.key`,
который расшифровывает ваши сохранённые учётные данные BMC. Сделайте их резервную копию, и вы сможете пересобрать ipmideck
где угодно.

<Warning>
  `encryption.key` входит в резервную копию неспроста: без него восстановленные имена пользователей
  и пароли BMC не могут быть расшифрованы. Резервная копия только базы данных оставляет ваши
  сохранённые учётные данные нечитаемыми, поэтому храните файл ключа так же безопасно, как и базу данных.
</Warning>

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

| Файл             | Что он содержит                                                               |
| ---------------- | ----------------------------------------------------------------------------- |
| `ipmideck.db`    | Серверы, пользователи, история датчиков, журнал команд и настройки.           |
| `config.yaml`    | Привязка сервера, аутентификация, IPMI, журналирование и настройки модулей.   |
| `encryption.key` | 32-байтовый ключ, который расшифровывает ваши сохранённые учётные данные BMC. |

Все они находятся в [каталоге данных](/ru/configuration#где-находится-конфигурация): `/data` в Docker
и Linux, `./data` в Windows, или куда бы ни указывал `IPMIDECK_DATA_DIR`.

## Вариант A: резервная копия в приложении

ipmideck может выдать вам готовую резервную копию. В веб-интерфейсе откройте **Settings** и используйте
действие резервного копирования: оно загружает `ipmideck-backup-<timestamp>.zip`, содержащий три файла
выше. База данных сначала проходит контрольную точку, поэтому снимок включает ваши самые свежие
показания.

Для восстановления загрузите этот zip с того же экрана **Settings**. ipmideck проверяет его,
подготавливает файлы и применяет их при следующем запуске, поэтому **перезапустите ipmideck, чтобы завершить
восстановление**.

## Вариант B: скопируйте каталог данных

Поскольку всё состояние это просто файлы, можно также сделать резервную копию, скопировав каталог данных,
пока ipmideck остановлен:

<CodeGroup>
  ```bash bash theme={null}
  # stop ipmideck first, then:
  cp -r /data /data-backup-$(date +%Y%m%d)
  ```

  ```powershell PowerShell theme={null}
  # stop ipmideck first, then:
  Copy-Item -Recurse .\data ".\data-backup-$(Get-Date -Format yyyyMMdd)"
  ```
</CodeGroup>

В Docker данные находятся в томе, который вы смонтировали на `/data`, поэтому сделайте резервную копию этого тома.
Восстановление, обратный процесс: остановите ipmideck, верните файлы в каталог данных и
запустите его снова.

<Note>
  Остановите ipmideck перед копированием на уровне файлов. База данных работает в режиме WAL, поэтому копирование её,
  пока приложение записывает, может захватить несогласованный снимок. Резервная копия в приложении избегает
  этого, выполняя сначала контрольную точку.
</Note>

## Следующие шаги

* [Конфигурация](/ru/configuration): где находится каталог данных и что содержит `config.yaml`.
* [Обновление ipmideck](/ru/updating): ваши данные переживают обновление.
* [Безопасность](/ru/security): как учётные данные шифруются в покое.
