echo "Database should be manually restored"
fi
}
+
+# Return a normalized database name
+function hydra_database_name {
+ # MySQL 16 chars limit
+ echo $1 | sed -r 's/(^>.{16}).*/\1/'"
+}
# Parameters.
DATE="`date +%Y%m%d`"
HOST="$1"
-DATABASE="$2"
+DATABASE="`hydra_database_name $2`"
BASEDIR="/tmp"
# Check restore strategy.
if [ "$1" == "backups" ]; then
- DATABASE="$3"
+ DATABASE="`hydra_database_name $3`"
hydra_backup_environment_local_website $2 $3
elif [ "$HOST" == "localhost" ] || [ "$HOST" == "`facter hostname`" ]; then
hydra_backup_environment_local
DEST_BASE="$SITES/backups/site"
DEST_BASE_SITE="$DEST_BASE/$SITE"
DEST="$DEST_BASE_SITE/`facter hostname`/$DATE"
+DATABASE="`hydra_database_name $SITE`"
# Syntax check.
if [ -z "$SITE" ]; then
fi
# Backup database
-if [ -d "/var/lib/mysql/$SITE" ]; then
- if [ -e "$SITE.sql.bz2" ]; then
- echo "File $SITE.sql.bz2 already exists, skipping..."
+if [ -d "/var/lib/mysql/$DATABASE" ]; then
+ if [ -e "$DATABASE" ]; then
+ echo "File $DATABASE already exists, skipping..."
else
- echo "Backing up database $SITE..."
- mysqldump $SITE > $SITE.sql
- bzip2 $SITE.sql
- rm -f $SITE.sql
- md5sum $SITE.sql.bz2 > $SITE.sql.bz2.md5
- sha1sum $SITE.sql.bz2 > $SITE.sql.bz2.sha1
- chown root.$BACKUPS_GROUP $SITE.sql*
- chmod 640 $SITE.sql*
- echo "Saved $DEST/$SITE.sql.bz2"
+ echo "Backing up database $DATABASE..."
+ mysqldump $DATABASE > $DATABASE.sql
+ bzip2 $DATABASE.sql
+ rm -f $DATABASE.sql
+ md5sum $DATABASE.sql.bz2 > $DATABASE.sql.bz2.md5
+ sha1sum $DATABASE.sql.bz2 > $DATABASE.sql.bz2.sha1
+ chown root.$BACKUPS_GROUP $DATABASE.sql*
+ chmod 640 $DATABASE.sql*
+ echo "Saved $DEST/$DATABASE.sql.bz2"
fi
fi