Hanfburgwiki:Backup
From Hanfburgwiki
Ein Backup des gesamten Wikis (Artikel, History, Bilder) lässt sich mit folgenden Bash-Scripts anlegen:
backup-art.sh
Speichert nur Artikel und History.
#!/bin/bash base='http://editthis.info/hanfburgwiki' imgbase='http://editthis.info' namespaces="{0,1,2,3,4,5,6,12}" export http_proxy="http://127.0.0.1:8118" # TOR via Privoxy dir=`date +%y.%m.%d-%H.%M.%S`-art mkdir $dir cd $dir pages="$( curl "$base/Special:Allpages?namespace=$namespaces" | \\ grep '<hr />' | \\ sed 's/.*<table style="background: inherit;" border="0" width="100%">\\(.*\\)<\\/table>.*/$ sed 's/<\\/tr>//g' | \\ sed 's/<\\/td>/<\\/td>\ /g' | \\ sed 's/^.*title="\\(.*\\)".*$/\\1/g' | \\ grep -v '^$' )" echo "$pages" >pages.txt data="curonly=true&pages=$pages" curl $base'/?title=Special:Export&action=submit' -d "$data" >articles-recent.xml data="pages=$pages" curl $base'/?title=Special:Export&action=submit' -d "$data" >articles-all.xml
backup-img.sh
Speichert nur Bilder o.a. Uploads.
#!/bin/bash base='http://editthis.info/hanfburgwiki' imgbase='http://editthis.info' export http_proxy="http://127.0.0.1:8118" # TOR via Privoxy dir=`date +%y.%m.%d-%H.%M.%S`-img mkdir $dir cd $dir imgbase_e="$(echo "$imgbase" | sed 's/\\//\\\\\\//g')" curl $( curl "$base/Special:Imagelist" \\ | grep '>desc</a>' \\ | sed 's/^.*href="\\(\\/images\\/hanfburgwiki\\/[^"]*\\)">.*$/\\1/g' \\ | sed 's/^\\(.*\\)$/-O '"$imgbase_e"'\\1/g' )
Ergebnis
Die Scripte erstellen z.B. folgende Dateistrukturen:
backup-art.sh:
08.05.12-13.11.00-art |-- articles-all.xml |-- articles-recent.xml `-- pages.txt
backup-img.sh:
08.05.12-14.00.00-img |-- Bluete.jpg |-- Cannabis_male_flowers.JPG |-- Ebbeflut.jpg |-- Hanf.jpg |-- HanfburgWiki.png |-- Haschisch.jpg |-- Indica-sativa-leaves.jpg |-- Indica.jpg |-- Kelvin.png |-- Knospe.jpg |-- Lsr.jpg |-- Lsrspektrum.jpg |-- Marihuana.jpg |-- Natriumdampf-Lampe.gif |-- Ndlspektrum.jpg |-- Outdoor.jpg |-- Ruderalis.jpg `-- Sativa.jpg
Die XML-Dateien werden mit der Seiten exportieren Funktion des Wikis generiert und können von Admins mit der Seiten importieren Funktion wieder importiert werden.
In der Datei pages.txt sind alle Artikel aufgelistet, die exportiert wurden, sortiert nach Namespace.
Die Bilder müssen einzeln mit der Hochladen Funktion importiert werden, was aber auch automatisiert werden kann.