
# Στιγμιότυπα

Τα snapshots αποθηκεύουν ένα σημείο επαναφοράς του sandbox.

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

Επαναφέρετε ένα snapshot:

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

Το `restore` ζητά επιβεβαίωση· το `--force` παραλείπει το μήνυμα. Τα ονόματα snapshot μπορούν να έχουν έως 64 γράμματα, ψηφία, τελείες, παύλες ή κάτω παύλες και να αρχίζουν με γράμμα ή ψηφίο.

Τα snapshots προορίζονται για επαναφορά sandbox, όχι για την ταυτότητα χρόνου εκτέλεσης. Η εγγραφή περιβάλλοντος παραμένει η πηγή αλήθειας για το sandbox.

## Τι περιλαμβάνουν τα snapshots

- όλους τους πίνακες με το πρόθεμα του sandbox, μαζί και τους χρήστες, αντιγραμμένους στην ίδια βάση δεδομένων με το `{sandbox_prefix}snap_{hash}_`, για παράδειγμα `wp_b65338d_snap_3ba676_options`
- τον θεματικό κατάλογο του sandbox, αντιγραμμένο στο `snapshots/{name}/themes` μέσα στον κατάλογο του sandbox
- μεταδεδομένα στα `snapshots/{name}/snapshot.json` και `snapshots/{name}/db_snapshot.json`

Επομένως, ένα snapshot απαιτεί πλήρες αντίγραφο των πινάκων του sandbox στη βάση δεδομένων του host, καθώς και αντίγραφο των αρχείων θέματος.

## Τι δεν περιλαμβάνουν τα snapshots

- τον πυρήνα WordPress του host
- κοινόχρηστα αρχεία πρόσθετων
- κοινόχρηστα αρχεία μεταφορτώσεων

## Αποκατάσταση

Η επαναφορά διαγράφει τους πίνακες του sandbox (διατηρώντας τους πίνακες snapshot), αντιγράφει ξανά τους πίνακες του snapshot και αντικαθιστά τον θεματικό κατάλογο του sandbox με το αποθηκευμένο αντίγραφο.

Από προεπιλογή, το Rudel αποθηκεύει πρώτα την τρέχουσα κατάσταση ως snapshot με όνομα `pre-restore-{timestamp}-{hash}`, ώστε να είναι δυνατή η αναίρεση της επαναφοράς. Ορίστε το `auto_snapshot_before_restore` σε `0` στο `rudel_config` για να απενεργοποιήσετε αυτή τη λειτουργία.

## Λίστα και αφαίρεση

Δεν υπάρχει εντολή CLI για εμφάνιση λίστας ή διαγραφή snapshots. Από το PHP, το `Rudel::snapshots( $id )` τα εμφανίζει από το νεότερο προς το παλαιότερο. Οι πίνακες snapshot διαγράφονται όταν καταστραφεί το sandbox· μέχρι τότε παραμένουν, μαζί με τα αυτόματα `pre-restore-*` ([issue #5](https://github.com/inline0/rudel/issues/5)).
