Hanfburgwiki:Backup
From Hanfburgwiki
(Difference between revisions)
| Line 1: | Line 1: | ||
| - | Ein Backup des gesamten Wikis (Artikel, History, Bilder) lässt sich mit | + | __NOTOC__ |
| + | |||
| + | Ein Backup des gesamten Wikis (Artikel, History, Bilder) lässt sich mit folgenden [http://de.wikipedia.org/wiki/Bash Bash]-Scripts anlegen: | ||
| + | |||
| + | === backup-art.sh === | ||
| + | |||
| + | Speichert nur Artikel und History. | ||
<pre><nowiki> | <pre><nowiki> | ||
| Line 6: | Line 12: | ||
base='http://editthis.info/hanfburgwiki' | base='http://editthis.info/hanfburgwiki' | ||
imgbase='http://editthis.info' | 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` | + | dir=`date +%y.%m.%d-%H.%M.%S`-art |
mkdir $dir | mkdir $dir | ||
cd $dir | cd $dir | ||
| - | + | pages="$( | |
| - | + | curl "$base/Special:Allpages?namespace=$namespaces" | \\ | |
| - | curl "$base/Special:Allpages?namespace=$ | + | |
grep '<hr />' | \\ | grep '<hr />' | \\ | ||
| - | sed 's/.*<table style="background: inherit;" border="0" width="100%">\\(.*\\)<\\/table>.*/ | + | sed 's/.*<table style="background: inherit;" border="0" width="100%">\\(.*\\)<\\/table>.*/$ |
sed 's/<\\/tr>//g' | \\ | sed 's/<\\/tr>//g' | \\ | ||
sed 's/<\\/td>/<\\/td>\ | sed 's/<\\/td>/<\\/td>\ | ||
/g' | \\ | /g' | \\ | ||
| - | sed 's/^.*title="\\(.*\\)".*$/\\1/g' | + | sed 's/^.*title="\\(.*\\)".*$/\\1/g' | \\ |
| - | + | grep -v '^$' | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
)" | )" | ||
| - | |||
| - | |||
echo "$pages" >pages.txt | echo "$pages" >pages.txt | ||
| - | |||
| - | |||
| - | |||
data="curonly=true&pages=$pages" | data="curonly=true&pages=$pages" | ||
| - | curl $base'/?title=Special:Export&action=submit' -d "$data" | + | curl $base'/?title=Special:Export&action=submit' -d "$data" >articles-recent.xml |
| - | |||
| - | |||
| - | |||
data="pages=$pages" | data="pages=$pages" | ||
| - | curl $base'/?title=Special:Export&action=submit' -d "$data" | + | curl $base'/?title=Special:Export&action=submit' -d "$data" >articles-all.xml |
| + | </nowiki></pre> | ||
| - | + | === backup-img.sh === | |
| - | + | Speichert nur Bilder o.a. Uploads. | |
| - | + | <pre><nowiki> | |
| + | #!/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' | |
| - | + | ) | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
</nowiki></pre> | </nowiki></pre> | ||
| - | + | === Ergebnis === | |
| + | Die Scripte erstellen z.B. folgende Dateistrukturen: | ||
| + | |||
| + | backup-art.sh: | ||
<pre><nowiki> | <pre><nowiki> | ||
| - | 08.05. | + | 08.05.12-13.11.00-art |
|-- articles-all.xml | |-- articles-all.xml | ||
|-- articles-recent.xml | |-- articles-recent.xml | ||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
| - | |||
`-- pages.txt | `-- pages.txt | ||
| + | </nowiki></pre> | ||
| + | |||
| + | backup-img.sh: | ||
| + | <pre><nowiki> | ||
| + | 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 | ||
</nowiki></pre> | </nowiki></pre> | ||
Die XML-Dateien werden mit der [[Special:Export|Seiten exportieren]] Funktion des Wikis generiert und können von Admins mit der [[Special:Import|Seiten importieren]] Funktion wieder importiert werden. | Die XML-Dateien werden mit der [[Special:Export|Seiten exportieren]] Funktion des Wikis generiert und können von Admins mit der [[Special:Import|Seiten importieren]] Funktion wieder importiert werden. | ||
| - | |||
| - | |||
In der Datei pages.txt sind alle Artikel aufgelistet, die exportiert wurden, sortiert nach Namespace. | In der Datei pages.txt sind alle Artikel aufgelistet, die exportiert wurden, sortiert nach Namespace. | ||
| + | |||
| + | Die Bilder müssen einzeln mit der [[Special:Upload|Hochladen]] Funktion importiert werden, was aber auch automatisiert werden kann. | ||
Current revision as of 12:02, 12 May 2008
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.
