Mediawiki maintenance
From wikinotes
Documentation
mediawiki static dump tools https://meta.wikimedia.org/wiki/Static_version_tools mediawiki dumpBackup xml https://www.mediawiki.org/wiki/Manual:DumpBackup.php
Backups
Full Backups
To create a full backup, you'll need to:
Backup Database
mysqldump -u wiki -pPASSWORD wikidb > ~/wikidb-backup.sqlBackup Images
TODO
Backup LocalSettings.php
TODO
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.htmlStatic HTML
Tools
mw2html static-wiki wget
Captures/correct links, but not as relative links for me. technically can capture CSS too.
If your$wgServer
points to the localhost (ex.$wgServer = "//127.0.0.1:80"
, 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=*" \ "https://yourwiki.com"
Zim
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