
# Снимки

Снимки сохраняют точку восстановления песочницы.

```bash
wp rudel snapshot alpha-3be7 --name=before-test
```

Восстановите снимок:

```bash
wp rudel restore alpha-3be7 --snapshot=before-test
```

`restore` запрашивает подтверждение; `--force` пропускает запрос. Имена снимков могут содержать до 64 букв, цифр, точек, дефисов или подчеркиваний и должны начинаться с буквы или цифры.

Снимки предназначены для восстановления песочницы, а не для идентификации среды выполнения. Источником истины для песочницы остается запись среды.

## Что сохраняется в снимках

- все таблицы с префиксом песочницы, включая таблицы пользователей, копируются в той же базе данных в `{sandbox_prefix}snap_{hash}_`, например `wp_b65338d_snap_3ba676_options`
- каталог темы песочницы копируется в `snapshots/{name}/themes` в каталоге песочницы
- метаданные в `snapshots/{name}/snapshot.json` и `snapshots/{name}/db_snapshot.json`

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

## Что не сохраняется в снимках

- основные файлы хоста WordPress
- общие файлы плагинов
- общие загруженные файлы

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

Восстановление удаляет таблицы песочницы (сохраняя таблицы снимка), копирует таблицы снимка обратно и заменяет каталог темы песочницы сохраненной копией.

По умолчанию Rudel сначала сохраняет текущее состояние в снимок с именем `pre-restore-{timestamp}-{hash}`, чтобы восстановление можно было отменить. Установите `auto_snapshot_before_restore` в значение `0` в `rudel_config`, чтобы отключить эту функцию.

## Просмотр и удаление

Команды CLI для просмотра или удаления снимков нет. Из PHP команда `Rudel::snapshots( $id )` выводит их в порядке от самых новых. Таблицы снимков удаляются при уничтожении песочницы; до этого они сохраняются, включая автоматические снимки `pre-restore-*` ([проблема № 5](https://github.com/inline0/rudel/issues/5)).
