Manual:dumpBackup.php
Fichier MediaWiki : dumpBackup.php | |
---|---|
Emplacement : | maintenance/ |
Code source : | master • 1.41.1 • 1.40.3 • 1.39.7 |
Classes : | DumpBackup |
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.
- 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.
- 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.
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
- Manuel:Faire la sauvegarde d'un wiki
- Manuel:Importer les dumps XML
- Manuel:Paramètres de Special:Export
- wikitech:Dumps/Software dependencies
- Exemples et scripts d'enveloppe
- xmldumps-backup contient des scripts utilisés par la Fondation Wikimedia, les scripts Python possèdent un peu de documentation; voir aussi wikitech:Category:Dumps (certains exemples sur wikitech:Dumps/Rerunning_a_job#Other_stuff pour l'instant).
- WikiFactory/Dumps de Wikia
Références
- ↑ DumpBackup.php crée un conteneur XML pour permettre les échanges.