Στιγμιότυπα
Τα snapshots αποθηκεύουν ένα σημείο επαναφοράς του sandbox.
wp rudel snapshot alpha-3be7 --name=before-test
Επαναφέρετε ένα snapshot:
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).