Mediawiki maintenance

From wikinotes


mediawiki static dump tools
mediawiki dumpBackup xml


Full Backups

To create a full backup, you'll need to:

Backup Database

mysqldump -u wiki -pPASSWORD wikidb > ~/wikidb-backup.sql

Backup Images


Backup LocalSettings.php


XML Dumps

You can dump the entire wiki as XML, and then use an XML parser to convert it to various other formats.
This is very fast, but doesn't render text normally handled by plugins.
Each page is defined within a <page> tag.

cd /usr/local/www/mediawiki/maintenance
php dumpBackup.php --full --quiet > dump.xml
# mediawiki's builtin parser (parsoid, best-effort)
php ${your_wiki}/maintenance/parse.php dump.xml > out.html

# pandoc (halts on error)
pandoc dump.xml -f mediawiki -t html -o dump.html

Static HTML




Captures/correct links, but not as relative links for me. technically can capture CSS too.
If your $wgServer points to the localhost (ex. $wgServer = "//", you can perform this backup over the localhost - confirmed with tcpdump).

# force connections over localhosts using an alternative hostsfile
# see: man gethostbyname
env HOSTALIASES=/foo/hosts \
    wget --recursive \
    --page-requisites \
    --adjust-extension \
    --convert-links \
    --no-parent \
    --tries=1    `# no retries (defaults to 20)` \
    --timeout=5  `# only wait 5s` \
    -R "*Special*" \
    -R "Special*" \
    -R "*action=*" \
    -R "*printable=*" \
    -R "*oldid=*" \
    -R "*title=Talk:*" \
    -R "*limit=*" \


xmldump2zim create zimfile from a mediawiki XML dump
wget-2-zim bash script to scrape mediawiki to zimfile
zim-tools includes zimwriterfs which dumps mediawiki to zimfile
mwoffliner scrape a mediawiki to zimfile

Delete Revision History

cd /usr/local/www/mediawiki/maintenance
php deleteOldRevisions.php --delete