Zrcadlení wiki: Porovnání verzí
m dump |
|||
(Nejsou zobrazeny 4 mezilehlé verze od stejného uživatele.) | |||
Řádek 33: | Řádek 33: | ||
exit 0 | exit 0 | ||
</source> | </source> | ||
=== archive.daily.sh === | |||
<source lang="bash"> | |||
#!/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 | |||
</source> | |||
Podobně vypadají skripty pro týdenní (<code>33 days ago</code>) a měsíční zálohu (<code>368 days ago</code>). | |||
=== rsync.sh === | |||
<source lang="bash"> | |||
#!/bin/sh | |||
WIKI=/home/root/GeoWikiCZ | |||
cd $WIKI/.. | |||
rsync -av --delete GeoWikiCZ root@josef.fsv.cvut.cz:/home/<user> | |||
</source> | |||
== Zrcadlo == | == Zrcadlo == | ||
=== mirror.sh === | |||
<source lang="bash"> | |||
#!/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 | |||
</source> |
Aktuální verze z 25. 2. 2009, 15:48
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