Manuel:DumpBackup.php

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

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é dump.xml:

php dumpBackup.php --full --quiet > dump.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 > dump.xml et cliquez sur Entrée. Une longue liste de code est créée, similaire à l'exemple ci-dessous.
Fichier dump.xml créé dans le répertoire maintenance.

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#

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

Options

De 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)

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.