Wie unterscheidet sich die WXR-Datei von der WPDB?

Ich versuche, es so zu machen, dass ein Administrator eine vollständige Sicherung einer WordPress-Website mit einem Klick auf eine Schaltfläche in den Administrationsseiten machen kann. Dabei denke ich, dass der Code Backup /wp-content für seine themes , plugins und uploads Verzeichnissen sowie eine databasesicherung benötigen würde. Das Sichern der database kann jedoch mühsam sein, insbesondere bei Problemen mit Berechtigungen.

Also, warum nicht WordPress eigene WXR-Datei verwenden ? Laut WordPress sichert die WXR-Datei die folgenden Informationen:

Dieses Format, das als WordPress eXtended RSS- oder WXR-Datei bezeichnet wird, enthält Ihre Posts, Seiten, benutzerdefinierten Beitragstypen, Kommentare, benutzerdefinierte Felder, Kategorien, Tags, benutzerdefinierte Taxonomien und Benutzer.

Wie unterscheidet sich die WXR-Datei von der WPDB? Das heißt, was würde ich vermissen, wenn ich die WPDB nicht sichern würde und nur mit der WXR-Datei gehen würde? Kann ich über die oben beschriebene Vorgehensweise ein komplettes WordPress-Backup erstellen?

Solutions Collecting From Web of "Wie unterscheidet sich die WXR-Datei von der WPDB?"

Es gibt keine Eins-zu-Eins-Beziehung zwischen der WordPress-database und der .wxr Datei.

Wir können diese Zeile in der exportierten .wxr Datei finden:

  

export_wp() wir die function export_wp() , können wir sehen, was ausgeschlossen ist, zum Beispiel:

  • Die in der Tabelle wp_options gespeicherten Daten sind nicht enthalten, also würden wir unter anderem die Widgets dort verlieren. Nur wenige Zeilen aus dieser Tabelle sind enthalten, wie der Titel, die URL, die Sprache und die Beschreibung der Site und ob ein bestimmter Post sticky ist.

  • Die Daten für das Benutzermeta in der Tabelle wp_usermeta fehlen ebenfalls.

  • Einige Plugins erstellen zusätzliche databasetabellen, die nicht enthalten sind.

  • Auto-Entwurfspfosten sind nicht enthalten.

  • Es sieht so aus, als ob einige databasefelder im Wiederherstellungsprozess nicht beibehalten werden, wie das Feld term_taxonomy_id .

  • … wahrscheinlich noch mehr Daten, die ich vermisst habe.

Man könnte versuchen, die fehlenden Daten durch die Aktion .wxr zur .wxr Datei rss2_head , aber dann müssten wir den Import-Teil entsprechend modifizieren. Sie müssen vielleicht weiter darüber .sql , also würde ich in der Zwischenzeit bei den .sql Dumps bleiben, um vollständige Backups wiederherzustellen.