Handbuch:dumpBackup.php
MediaWiki-Datei: dumpBackup.php | |
---|---|
Speicherort: | maintenance/ |
Quellcode: | master • 1.42.3 • 1.41.4 • 1.39.10 |
Klassen: | DumpBackup |
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 '--full
':
php dumpBackup.php --full > pagedump.xml
You can also include the uploaded files by doing:
php dumpBackup.php --full --include-files --uploads > page-and-filedump.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
To also include files when filtering by certain namespaces:
php dumpBackup.php --current --quiet --filter=namespace:0,1,6 --include-files --uploads > main_plus_talk_plus_files.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.
- Umleitung (redirect) in den Ordner 'maintenance' mit cd. Der genaue Speicherort Ihres Ordner 'maintenance' weicht wahrscheinlich von dem Beispiel ab.
- Gib php dumpBackup.php --full > /var/tmp/dump.xml ein und drücke Return. Das erzeugt eine Liste ähnlich der im Beispiel.
user@server:/$ cd /var/www/html/wiki/w/maintenance user@server:/var/www/html/wiki/w/maintenance$ php dumpBackup.php --full > /var/tmp/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] user@server:/var/www/html/wiki/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
As of MediaWiki 1.39:
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.
WARNING: this is not a full database dump! It is merely for public export of your wiki. For full backup, see our online help at: https://www.mediawiki.org/wiki/Backup
Usage: php dumpBackup.php [--7ziplevel|--conf|--current|--dbgroupdefault|--dbpass|--dbuser|--end|--filter|--full|--globals|--help|--include-files|--logs|--memory-limit|--namespaces|--orderrevs|--output|--pagelist|--plugin|--profiler|--quiet|--report|--revend|--revrange|--revstart|--schema-version|--server|--skip-footer|--skip-header|--stable|--start|--stub|--uploads|--wiki]
Generic maintenance parameters:
--help (-h): Display this help message
--quiet (-q): Whether to suppress non-error output
Script dependent parameters:
--dbgroupdefault: The default DB group to use.
--dbpass: The password to use for this script
--dbuser: The DB user to use for this script
Script specific parameters:
--7ziplevel: 7zip compression level for all 7zip outputs. Used for -mx option to 7za command.
--conf: Location of LocalSettings.php, if not default
--current: Dump only the latest revision of every page.
--end: Stop before page_id or log_id n (exclusive)
--filter: Add a filter on an output branch. Specify as <type>[:<options>]. <types>s: latest, notalk, namespace
--full: Dump all revisions of every page
--globals: Output globals at the end of processing for debugging
--include-files: Include files within the XML stream
--logs: Dump all log events
--memory-limit: Set a specific memory limit for the script, "max" for no limit or "default" to avoid changing it
--namespaces: Limit to this comma-separated list of namespace numbers
--orderrevs: Dump revisions in ascending revision order (implies dump of a range of pages)
--output (-o): Begin a filtered output stream; Specify as <type>:<file>. <type>s: file, gzip, bzip2, 7zip, dbzip2, lbzip2
--pagelist: Dump only pages included in the file
--plugin: Load a dump plugin class. Specify as <class>[:<file>].
--profiler: Profiler output format (usually "text")
--report: Report position and speed after every n pages processed. Default: 100.
--revend: Stop before rev_id n (exclusive)
--revrange: Dump range of revisions specified by revstart and revend parameters
--revstart: Start from rev_id
--schema-version: Schema version to use for output. Default: 0.11
--server: The protocol and server name to use in URLs, e.g. https://en.wikipedia.org. This is sometimes necessary because server name detection may fail in command line scripts.
--skip-footer: Don't output the </mediawiki> footer
--skip-header: Don't output the <mediawiki> header
--stable: Dump stable versions of pages
--start: Start from page_id or log_id
--stub: Don't perform old_text lookups; for 2-pass dump
--uploads: Include upload records without files
--wiki: For specifying the wiki ID
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
- Backup eines Wikis
- XML-Dumps importieren
- Parameter für Spezial:Export
- wikitech:Dumps/Software dependencies
- Beispiele und Wrapper-Skripte
- xmldumps-backup enthält Skripte, die von der Wikimedia Foundation verwendet werden, Python-Skripte sind dokumentiert; siehe auch wikitech:Category:Dumps (vorerst einige Beispiele unter wikitech:Dumps/Rerunning_a_job#Other_stuff).
- Wikia WikiFactory/Dumps
Einzelnachweise
- ↑ DumpBackup.php erstellt einen XML Interchange Wrapper.