#!/bin/bash # (c) Copyright by authors of the Tiki Wiki CMS Groupware Project # # All Rights Reserved. See copyright.txt for details and a complete list of authors. # Licensed under the GNU LESSER GENERAL PUBLIC LICENSE. See license.txt for details. # $Id$ # that script runs intelligent syncronize operation. # It reads db/local.php to find proper mysql info # and duplicate db on a local mirror # # tested on debian only for now # # mose@tikiwiki.org # Remote informations RHOST="tikiwiki.org" RTIKI="/usr/local/tiki18" RTMPDIR="/tmp" eval `ssh $RHOST cat $RTIKI/db/local.php | sed -e '/[\?#]/d' -e "s/\$\([-_a-z]*\)[[:space:]]*=[[:space:]]*\([-_a-zA-Z0-9\"'\.]*\);/\\1=\\2/"` RDBHOST=${host_tiki:-'localhost'} RDBNAME=${dbs_tiki:-'tikiwiki'} RDBUSER=${user_tiki:-'root'} RDBPASS=${pass_tiki:-''} # Local informations LTIKI="/var/tiki18" LTMPDIR="/tmp" LARCHDIR="~/tiki" eval `sed -e '/[\?#]/d' -e "s/\$\([-_a-z]*\)[[:space:]]*=[[:space:]]*\([-_a-zA-Z0-9\"'\.]*\);/\\1=\\2/" $LTIKI/db/local.php` LDBHOST=${host_tiki:-'localhost'} LDBNAME=${dbs_tiki:-'tikiwiki'} LDBUSER=${user_tiki:-'root'} LDBPASS=${pass_tiki:-''} # misc DUMP="$RDBNAME.$RHOST.`date +%s`.sql" # remote operations ssh $RHOST "mysqldump -e -f -h$RDBHOST -u$RDBUSER -p$RDBPASS $RDBNAME > $RTMPDIR/$DUMP" scp -C $RHOST:$RTMPDIR/$DUMP $LTMPDIR && ssh $RHOST "rm -f $RTMPDIR/$DUMP" # local operations mysql -h$LDBHOST -u$LDBUSER -p$LDBPASS -e "drop database $LDBNAME;create database $LDBNAME;" mysql -h$LDBHOST -u$LDBUSER -p$LDBPASS $LDBNAME < $LTMPDIR/$DUMP # afterwise bzip2 $LTMPDIR/$DUMP mv $LTMPDIR/$DUMP.bz2 $LARCHDIR # finished echo "Done." exit 0