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

Данный раздел описывает способы резервного копирования и восстановления
из резервной копии в Picodata.


## Копирование данных локальной БД {: #local_backup }

На уровне локального экземпляра Picodata объектами резервного копирования
являются:

- конфигурация СУБД
- конфигурация БД
- программный код СУБД
- процедуры, хранимые в БД <!-- TODO link sql routines doc -->

С точки зрения реализации копирования, эти объекты овеществляются в виде
файлов `*.xlog` / `*.snap` в рабочей директории инстанса. Таким образом,
выполнение задач резервного копирования реализуется через меры,
направленные на сохранение копий рабочих файлов в директории, заданной
при запуске инстанса Picodata.

Например, резервное копирование файлов инстанса может быть выполнено
следующей командой:

```shell
rsync -r <instance_dir> <backup_dir>
```

где:

- `<instance_dir>` — рабочая директория инстанса, указанная при запуске в
  параметре [`picodata run --instance-dir`]
- `<backup_dir>` — целевая директория для хранения резервной копии

[`picodata run --instance-dir`]: ../reference/cli.md#run_instance_dir

## Восстановление из резервной копии {: #local_restore }

Восстановление данных инстанса из резервной копии выполняется той же
командой `rsync`, но в обратную сторону:

```shell
rsync -r <backup_dir> <instance_dir>
```

!!! note "Примечание"
    Восстановление из резервной копии следует проводить
    после остановки инстанса, чтобы избежать возможной
    неконсистентности данных.

!!! note "Примечание"
    При работе в защищенной ОС информацию из этого
    раздела следует использовать совместно с документацией ОС. В качестве
    примера см. [Руководство по комплексу средств защиты ОС Альт 8
    СП](https://www.basealt.ru/fileadmin/user_upload/manual/lknv.11100-01-99-03-rukovodstvo-po-ksz.pdf),
    п. 3.6.5. «Пример настройки системы резервного копирования данных».
