Zrcadlení wiki

Z GeoWikiCZ

Tato stránka obsahuje ukázky skriptů, které jsou použity pro zrcadlení GeoWikiCZ a dalších wiki na server josef.

Obsah

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
Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Aktuality
Stránky
Nástroje