]> gitweb.fluxo.info Git - hydra.git/commitdiff
Restoring sympa database
authorSilvio Rhatto <rhatto@riseup.net>
Thu, 28 Jun 2012 14:47:42 +0000 (11:47 -0300)
committerSilvio Rhatto <rhatto@riseup.net>
Thu, 28 Jun 2012 14:47:42 +0000 (11:47 -0300)
share/hydractl/backup-restore-site
share/hydractl/backup-restore-sympa

index e070255f4297e78aa659e7afd0349de4c72758c6..3c22e521c8e50fd838ddf310ea904b67c962b9ae 100755 (executable)
@@ -161,7 +161,6 @@ fi
 # Restore database
 if [ ! -z "$DB_DUMP_EXT" ]; then
   echo "Restoring database $SITE..."
-  BASEDIR="$FOLDER"
   hydra_set_tmpfile $SITE -d
   cp $DB_DUMP_BASE/$SITE.sql$DB_DUMP_EXT $TMPWORK
   ( cd $TMPWORK && $DB_DUMP_EXTRACT $SITE.sql$DB_DUMP_EXT )
@@ -169,7 +168,7 @@ if [ ! -z "$DB_DUMP_EXT" ]; then
   mysql $SITE < $TMPWORK/$SITE.sql
   hydra_unset_tmpfile $TMPWORK
 else
-  echo "Databases should be manually restored"
+  echo "Database should be manually restored"
 fi
 
 # Ikiwiki
index 868789de52644920617aff7a25311c973e6e38c5..5f136656b7589715b5b54f6d049a51b54ae8060e 100755 (executable)
@@ -23,6 +23,7 @@ hydra_config_load
 # Parameters.
 DATE="`date +%Y%m%d`"
 LISTS_DIR="/var/mail/virtual"
+SITE="sympa"
 
 # Check restore strategy.
 if [ "$1" == "localhost" ] || [ "$1" == "`facter hostname`" ]; then
@@ -60,6 +61,33 @@ fi
 #rsync -av $RESTOREDIR/$LISTS_DIR/bounce/ $LISTS_DIR/bounce/
 rsync -av --delete $RESTOREDIR/$LISTS_DIR/ $LISTS_DIR/
 
+DB_DUMP_BASE="$RESTOREDIR/var/backups/mysql/sqldump"
+
+# Check if there are database dumps
+if [ -f "$DB_DUMP_BASE/$SITE.sql.gz" ]; then
+  DB_DUMP_EXT=".gz"
+  DB_DUMP_EXTRACT="gunzip"
+elif [ -f "$DB_DUMP_BASE/$SITE.sql.bz2" ]; then
+  DB_DUMP_EXT=".bz2"
+  DB_DUMP_EXTRACT="bunzip2"
+elif [ -f "$DB_DUMP_BASE/$SITE.sql" ]; then
+  DB_DUMP_EXT=""
+  DB_DUMP_EXTRACT="true"
+fi
+
+# Restore database
+if [ ! -z "$DB_DUMP_EXT" ]; then
+  echo "Restoring database $SITE..."
+  hydra_set_tmpfile $SITE -d
+  cp $DB_DUMP_BASE/$SITE.sql$DB_DUMP_EXT $TMPWORK
+  ( cd $TMPWORK && $DB_DUMP_EXTRACT $SITE.sql$DB_DUMP_EXT )
+  hydra_truncate_database $SITE
+  mysql $SITE < $TMPWORK/$SITE.sql
+  hydra_unset_tmpfile $TMPWORK
+else
+  echo "Database should be manually restored"
+fi
+
 # Fix permissions.
 chown -R $LISTS_USER.$LISTS_GROUP $LISTS_DIR