
# Instantáneas

Las instantáneas guardan un punto de recuperación de un entorno aislado.

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

Restaurar una instantánea:

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

`restore` solicita confirmación; `--force` omite la solicitud. Los nombres de instantánea pueden tener hasta 64 letras, dígitos, puntos, guiones o guiones bajos, y deben empezar por una letra o un dígito.

Las instantáneas sirven para recuperar entornos aislados, no para definir su identidad en tiempo de ejecución. El registro del entorno sigue siendo la fuente de verdad del entorno aislado.

## Qué incluyen las instantáneas

- todas las tablas con el prefijo del entorno aislado, incluidas las de usuarios, copiadas en la misma base de datos bajo `{sandbox_prefix}snap_{hash}_`, por ejemplo `wp_b65338d_snap_3ba676_options`
- el directorio del tema del entorno aislado, copiado en `snapshots/{name}/themes` dentro del directorio del entorno aislado
- metadatos en `snapshots/{name}/snapshot.json` y `snapshots/{name}/db_snapshot.json`

Por tanto, una instantánea requiere una copia completa de las tablas del entorno aislado en la base de datos del host y otra de los archivos del tema.

## Qué no incluyen las instantáneas

- el núcleo del host WordPress
- los archivos compartidos de complementos
- las cargas compartidas

## Restore

Al restaurar, se descartan las tablas del entorno aislado (se conservan las tablas de la instantánea), se vuelven a copiar las tablas de la instantánea y se reemplaza el directorio del tema del entorno aislado por la copia guardada.

De forma predeterminada, Rudel guarda primero el estado actual como una instantánea llamada `pre-restore-{timestamp}-{hash}`, para que se pueda deshacer la restauración. Establezca `auto_snapshot_before_restore` en `0` en `rudel_config` para desactivar esta opción.

## Listar y eliminar

No hay ningún comando CLI para listar o eliminar instantáneas. Desde PHP, `Rudel::snapshots( $id )` las muestra, empezando por la más reciente. Las tablas de instantáneas se eliminan al destruir el entorno aislado; hasta entonces se conservan, incluidas las instantáneas automáticas `pre-restore-*` ([incidencia #5](https://github.com/inline0/rudel/issues/5)).
