Jump to content

Manuel:DumpBackup.php

From mediawiki.org
This page is a translated version of the page Manual:DumpBackup.php and the translation is 89% complete.
Outdated translations are marked like this.

Détails

Le fichier dumpBackup.php sauvegarde les données dans un fichier XML pour l'exportation ou la sauvegarde. Ces données au format XML sont le contenu du wiki (pages wiki avec toutes les révisions), mais sans les données relatives au site. DumpBackup.php ne crée pas une sauvegarde complète de la base de données du wiki, la sauvegarde ne contient pas les comptes des utilisateurs, les images, les journaux des modifications, les révisions supprimées, etc.[1] Une fois que la sauvegarde est terminé, vous pouvez importer la sauvegarde XML.

Exemples

Exemples Généraux

Vous devez choisir un nom pour la sauvegarde des données.

Par exemple l'utilisateur ici sauvegarde toutes ses révisions de l'historique (--full) dans un fichier appelé --full):

php dumpBackup.php --full > pagedump.xml

You can also include the uploaded files by doing:

php dumpBackup.php --full --include-files --uploads > pageandfiledump.xml
Pour plus de détails sur cet exemple dump.xml , voir ci-dessous.

Vous pouvez restreindre la sauvegarde des données à un espace de noms particulier. Dans cet exemple il n'y a que des modèles:

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

ou des modèles avec toutes leurs révisions:

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

Pour include de multiples espaces de noms, faire:

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

Exemple d'utilisation d'un plugin:

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

ou

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

L'option --stub peut être utilisée avec dumpTextPass.php .

Pour --include-files :

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

L'option --uploads doit aussi être utilisée. Sinon aucun fichier ne sera inclus.

Exemple détaillé

Dans cet exemple, le texte en vert est le texte que vous entrez.

  1. Redirigez vers le répertoire de maintenance en utilisant la commande cd. L'emplacement de votre répertoire de maintenance peut être différent de celui de l'exemple.
  2. Saisissez php dumpBackup.php --full > /var/tmp/dump.xml et cliquez sur Entrée. Une longue liste de code est créée, similaire à l'exemple ci-dessous.

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$

Le nouveau fichier XML sera créé dans le répertoire de maintenance (rafraîchissez éventuellement votre SCP pour voir ce fichier).

Options

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

Ce script se connecte à la base de données en utilisant le nom d'utilisateur et le mot de passe définis par $wgDBadminuser et $wgDBadminpassword , qui sont normalement déclarés dans LocalSettings.php . Habituellement $wgDBadminuser est un utilisateur avec davantage de privilèges que celui de $wgDBuser , mais pour exécuter dumpBackup.php il n'y a pas besoin de privilèges supplémentaires, donc les noms d'utilisateur et les mots de passe peuvent être les mêmes. Si les variables ne sont pas initialisées, dumpBackup.php va échouer en essayant de se connecter à la base de données :

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

Notes

Le fichier XML est envoyé vers la sortie standard (stdout); les rapports de progression sont envoyés vers la sortie d'erreurs (stderr). C'est le terminal de sortie par défaut ainsi que le terminal de sortie pour les erreurs. Lorsque vous exécutez le script à partir du shell, les deux sorties doivent alors par défaut être envoyées au shell, ce qui signifie que vous devez voir la sortie des informations et les erreurs directement sur l'écran.

Messages d'erreur

Si vous n'êtes pas dans le bon répertoire, vous recevrez ce message :

No input file specified.

Le script dumpBackup indique « Warning: Division by zero in [DIRECTORY]/maintenance/backup.inc » lorsque l'évaluation du paramètre après « --report » donne 0 ou n'est pas un nombre. Le palliatif est d'exécuter dumpBackup sans l'option « --report » ; ensuite dumpBackup imprimera une ligne d'état chaque fois qu'il aura traité 100 pages.

Paramètres de configuration recommandés

  • $wgRevisionCacheExpiry doit être mis à 0 pour éviter d'insérer toutes les révisions dans l'objet cache. La plupart d'entre elles ne bénéficiera pas de l'enregistrement dans le cache parce que vos lecteurs n'iront pas voir au hasard d'anciennes révisions des pages de votre wiki.

Voir aussi

Références

  1. DumpBackup.php crée un conteneur XML pour permettre les échanges.