Zrcadlení wiki
Tato stránka obsahuje ukázky skriptů, které jsou použity pro zrcadlení GeoWikiCZ a dalších wiki na server josef.
Server
dump.sh
#!/bin/sh
WIKIPATH=/home/root/GeoWikiCZ
cd $WIKIPATH
touch $WIKIPATH/lock
LIST="geowikicz\ngrasswikicz\ngiwiki\ncplwiki\nnb2008wikicz\ngppwikicz"
for wiki in `echo -e "$LIST"`; do
mysqldump -u root -p<heslo> $wiki > $WIKIPATH/mysql-dump.$wiki
done
rm -f $WIKIPATH/GeoWikiCZ.tar*
tar cf $WIKIPATH/GeoWikiCZ.tar \
$WIKIPATH/mysql-dump.* \
/var/www/WIKI \
/var/www/data/geo* \
/home/root/GeoWikiCZ/*.sh 2>/dev/null
bzip2 $WIKIPATH/GeoWikiCZ.tar
rm -f $WIKIPATH/lock
exit 0
archive.daily.sh
#!/bin/sh
WIKI=/home/root/GeoWikiCZ
SUBD=wiki.daily
FILE=GeoWikiCZ.tar.bz2
$WIKI/sleep.sh
if [ ! -d $WIKI/$SUBD ]; then mkdir $WIKI/$SUBD; fi
if [ -f $WIKI/$FILE ]; then cp -u $WIKI/$FILE $WIKI/$SUBD/`date -I`-$FILE; fi
touch --date="8 days ago" $WIKI/$SUBD/time-stamp
for f in $WIKI/$SUBD/*
do
if test "$f" -ot $WIKI/$SUBD/time-stamp; then
rm -rfv $f
fi
done
Podobně vypadají skripty pro týdenní (33 days ago
) a měsíční zálohu (368 days ago
).
rsync.sh
#!/bin/sh
WIKI=/home/root/GeoWikiCZ
cd $WIKI/..
rsync -av --delete GeoWikiCZ root@josef.fsv.cvut.cz:/home/<user>
Zrcadlo
mirror.sh
#!/bin/sh
if test -z "$1" ; then
WIKI=/home/<user>/GeoWikiCZ
else
WIKI="$1"
fi
tarball=$WIKI/GeoWikiCZ.tar.bz2
if test ! -f $tarball ; then
echo "$tarball nebyl nalezen..." 2>&1
exit 1
fi
# tarball
### rm -fr /var/www/WIKI /home/root/GeoWikiCZ
tar --directory / -xjf $tarball
# mysql
for dump in $WIKI/mysql-dump.* ; do
dbase=`echo "$dump" | sed -e 's/.*mysql-dump.//g'`
echo "drop database $dbase;create database $dbase;" | mysql -u root -p<password>
mysql -u root -p<password> $dbase < $dump
done
# zmeny v konfiguraci
lc_wiki=( geowikicz grass geoinformatics )
WWW=/var/www/WIKI
for w in ${lc_wiki[@]}; do
mv $WWW/$w/LocalSettings.php $WWW/$w/LocalSettings.php.gama
# /wiki -> /WIKI/<dir_wiki>
cat $WWW/$w/LocalSettings.php.gama | \
sed "s/\"\/wiki\";/\"\/WIKI\/$w\";/g" > \
$WWW/$w/LocalSettings.php
done
# externi data
wget -r -np -nH -N -L --cut-dir=1 -R index.html* \
-P/var/www/data http://gama.fsv.cvut.cz/data/ 2> /dev/null
exit 0