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