Handbuch:dumpBackup.php

From mediawiki.org
This page is a translated version of the page Manual:DumpBackup.php and the translation is 100% complete.

Details

dumpBackup.php file erstellt einen XML-Dump für Export oder Backup. XML-Dumps enthalten die Wiki-Inhalte (Wiki-Seiten mit Revisionen) ohne die Wiki-spezifischen Daten. DumpBackup.php erstellt kein vollständiges Backup der Wiki-Datenbank, der Dump enthält weder Benutzerkonten, Bilder, Bearbeitungsprotokolle oder gelöschte Revisionen usw.[1] Sobald der Dump abgeschlossen ist, kannst du den XML-Dump importieren.

Beispiele

Allgemeine Beispiele

Du musst einen Dateinamen für den Datendump wählen.

Zum Beispiel speichert der Benutzer hier den gesamten Revisionsverlauf (--full) in der Datei 'dump.xml':

php dumpBackup.php --full --quiet > dump.xml
Weitere Details zu dieser beispielhaften dump.xml findest du unter 'Detailliertes Beispiel'.

Du kannst den Datendump auf einen bestimmten Namensraum begrenzen. Im folgenden Beispiel erhältst du nur Vorlagen mit der jeweils aktuellen Revision:

php dumpBackup.php --current --quiet --filter=namespace:10 > templates.xml

oder Vorlagen mit allen Revisionen:

php dumpBackup.php --full --quiet --filter=namespace:10 > templates.xml

Mehrere Namenräume einschließen:

php dumpBackup.php --current --quiet --filter=namespace:10,11 > templates_plus_template_talk.xml

Beispielverwendung eines Plugins:

php dumpBackup.php \
  --plugin=AbstractFilter:extensions/ActiveAbstract/AbstractFilter.php \
  --current \
  --output=gzip:/dumps/abstract.xml.gz \
  --filter=namespace:NS_MAIN \
  --filter=noredirect \
  --filter=abstract \
  --quiet

oder

php dumpBackup.php \
  --plugin=MathMLFilter:../extensions/MathSearch/maintenance/MathMLFilter.php \
  --current \
  --filter=namespace:NS_MAIN \
  --filter=mathml \
  --quiet

Die Option --stub kann mit dumpTextPass.php genutzt werden.

Um Dateien mit --include-files einzuschließen:

php dumpBackup.php \
  --full \
  --include-files \
  --uploads \
  --output=gzip:/dumps/abstract.xml.gz \
  --quiet

Auch die Option --uploads muss hier benutzt werden, da ansonsten keine Dateien eingeschlossen werden.

Detailiertes Beispiel

In diesem Beispiel ist der grüne Text der Text, den du eingibst.

  1. Umleitung (redirect) in den Ordner 'maintenance' mit cd. Der genaue Speicherort Ihres Ordner 'maintenance' weicht wahrscheinlich von dem Beispiel ab.
  2. Gib php dumpBackup.php --full > dump.xml ein und drücke Return. Das erzeugt eine Liste ähnlich der im Beispiel.
Die Datei dump.xml wird im Ordner 'maintenance' erzeugt.

root@356:/# cd /home/trav/public_html/finddcjobs.com/public/w/maintenance

root@356:/home/trav/public_html/finddcjobs.com/public/w/maintenance# php dumpBackup.php --full > dump.xml

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 0 pages (0.0|0.0/sec all|curr), 100 revs (404.7|404.7/sec all|curr), ETA 2014-08-15 09:54:11 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 0 pages (0.0|0.0/sec all|curr), 200 revs (499.7|652.8/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 10 pages (19.2|83.8/sec all|curr), 300 revs (577.4|838.3/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:08: my_wiki-finddcjobs (ID 23578) 17 pages (24.1|91.4/sec all|curr), 400 revs (567.0|537.9/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 18 pages (15.6|40.2/sec all|curr), 500 revs (433.4|223.1/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 23 pages (15.4|66.8/sec all|curr), 600 revs (400.6|290.5/sec all|curr), ETA 2014-08-15 09:54:11 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 59 pages (36.0|412.4/sec all|curr), 700 revs (426.6|699.0/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:09: my_wiki-finddcjobs (ID 23578) 62 pages (36.2|856.3/sec all|curr), 800 revs (466.9|1381.2/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 89 pages (48.8|798.3/sec all|curr), 900 revs (493.2|896.9/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 120 pages (62.4|1224.2/sec all|curr), 1000 revs (520.1|1020.2/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

2014-08-15 09:54:10: my_wiki-finddcjobs (ID 23578) 124 pages (59.0|697.5/sec all|curr), 1100 revs (523.7|562.5/sec all|curr), ETA 2014-08-15 09:54:10 [max 1143]

root@356:/home/trav/public_html/finddcjobs.com/public/w/maintenance#

Die neue XML-Datei wird im Ordner 'maintenance' erzeugt. Möglicherweise musst du in SCP einen Refresh durchführen, um die XML-Datei zu sehen.

Optionen

Ab MediaWiki r105912:

This script dumps the wiki page or logging database into an
XML interchange wrapper format for export or backup.

XML output is sent to stdout; progress reports are sent to stderr.

Usage: php dumpBackup.php <action> [<options>]
Actions:
  --full      Dump all revisions of every page.
  --current   Dump only the latest revision of every page.
  --logs      Dump all log events.
  --stable    Stable versions of pages?
  --pagelist=<file>
			  Where <file> is a list of page titles to be dumped
  --revrange  Dump specified range of revisions, requires
              revstart and revend options.
Options:
  --quiet     Don't dump status reports to stderr.
  --report=n  Report position and speed after every n pages processed.
			  (Default: 100)
  --server=h  Force reading from MySQL server h
  --start=n   Start from page_id or log_id n
  --end=n     Stop before page_id or log_id n (exclusive)
  --revstart=n  Start from rev_id n
  --revend=n    Stop before rev_id n (exclusive)
  --skip-header Don't output the <mediawiki> header
  --skip-footer Don't output the </mediawiki> footer
  --stub      Don't perform old_text lookups; for 2-pass dump
  --uploads   Include upload records without files
  --include-files Include files within the XML stream
  --conf=<file> Use the specified configuration file (LocalSettings.php)

  --wiki=<wiki>  Only back up the specified <wiki>

Fancy stuff: (Works? Add examples please.)
  --plugin=<class>[:<file>]   Load a dump plugin class
  --output=<type>:<file>      Begin a filtered output stream;
                              <type>s: file, gzip, bzip2, 7zip
  --filter=<type>[:<options>] Add a filter on an output branch
  --7ziplevel=<0-10>          Level of 7zip compression (0 - no compression is default)

Dieses Skript stellt eine Verbindung zur Datenbank her mit dem Benutzernamen und Kennwort, die normalerweise in LocalSettings.php durch $wgDBadminuser und $wgDBadminpassword definiert sind. Üblicherweise ist $wgDBadminuser ein Benutzer mit mehr Rechten als $wgDBuser , aber zum Ausführen von dumpBackup.php sind keine zusätzlichen Rechte erforderlich, sodass die Benutzernamen und Kennwörter dieselben sein können. Wenn die Variablen nicht gesetzt sind, schlägt dumpBackup.php fehl beim Versuch, sich mit der Datenbank zu verbinden:

$ php dumpBackup.php --full
DB connection error: Unknown error

Anmerkungen

Die XML-Datei wird an die Standardausgabe (stdout) gesendet, und Fortschrittsberichte werden an die Standardfehlerausgabe (stderr) gesendet. Beide werden standardmäßig auf der Konsole ausgegeben. Wenn du das Skript von der Shell aus aufrufst, sollten beide Ausgaben standardmäßig an die Shell gesendet werden, was bedeutet: Du solltest "informative" Ausgaben und Fehler direkt auf dem Bildschirm sehen.

Fehlermeldungen

Wenn du dich nicht im richtigen Ordner befindest, erhältst du die Meldung:

No input file specified.

Das dumpBackup-Skript gibt die Meldung „Warning: Division by zero in [DIRECTORY]/maintenance/backup.inc (Warnung: Division durch Null in [VERZEICHNIS]/maintenance/backup.inc)“ aus, wenn der Parameter nach --report als 0 oder nicht als Zahl ausgewertet wird. Die Lösung besteht darin, dumpBackup ohne die Option --report auszuführen; dumpBackup druckt dann nach jeweils 100 verarbeiteten Seiten eine Statuszeile.

Empfohlene Konfigurationseinstellungen

  • $wgRevisionCacheExpiry sollte auf 0 gesetzt werden, um zu vermeiden, alle Revisionen in den Objektcache einzufügen. Die meisten alten Revisionen profitieren nicht davon, im Cache gespeichert zu werden, da ein Leser normalerweise keine zufälligen alten Revisionen von Seiten sieht.

Siehe auch

Einzelnachweise

  1. DumpBackup.php erstellt einen XML Interchange Wrapper.