Vai al contenuto

Snapshot

Gli snapshot acquisiscono un punto di ripristino della sandbox.

Shell
wp rudel snapshot alpha-3be7 --name=before-test

Ripristinate uno snapshot:

Shell
wp rudel restore alpha-3be7 --snapshot=before-test

restore chiede conferma; --force salta la richiesta. I nomi degli snapshot possono contenere fino a 64 lettere, cifre, punti, trattini o trattini bassi e devono iniziare con una lettera o una cifra.

Gli snapshot servono a ripristinare una sandbox, non la sua identità di runtime. Il record dell’ambiente resta la fonte attendibile per la sandbox.

Cosa includono gli snapshot

  • ogni tabella con il prefisso della sandbox, inclusi gli utenti, copiata nello stesso database sotto {sandbox_prefix}snap_{hash}_, per esempio wp_b65338d_snap_3ba676_options
  • la directory del tema della sandbox, copiata in snapshots/{name}/themes nella directory della sandbox
  • i metadati in snapshots/{name}/snapshot.json e snapshots/{name}/db_snapshot.json

Uno snapshot richiede quindi una copia completa delle tabelle della sandbox nel database dell’host e una copia dei file del tema.

Cosa non includono gli snapshot

  • il nucleo di WordPress dell’host
  • i file dei plugin condivisi
  • i caricamenti condivisi

Ripristino

Il ripristino elimina le tabelle della sandbox, mantenendo quelle dello snapshot, ricopia le tabelle dello snapshot e sostituisce la directory del tema della sandbox con la copia salvata.

Per impostazione predefinita, Rudel salva prima lo stato corrente in uno snapshot chiamato pre-restore-{timestamp}-{hash}, così è possibile annullare il ripristino. Impostate auto_snapshot_before_restore su 0 in rudel_config per disattivare questa funzione.

Elencare e rimuovere

Non esiste un comando CLI per elencare o eliminare gli snapshot. Da PHP, Rudel::snapshots( $id ) li elenca dal più recente. Le tabelle degli snapshot vengono eliminate quando si distrugge la sandbox; fino ad allora restano, incluse quelle automatiche di pre-restore-* (problema n. 5).