#!/bin/bash # # Subversion backup restoration. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public # License along with this program. If not, see # . # Load. source $APP_BASE/lib/hydra/functions || exit 1 hydra_config_load # Parameters. DATE="`date +%Y%m%d`" # Check restore strategy. if [ "$1" == "localhost" ] || [ "$1" == "`facter hostname`" ]; then hydra_backup_environment_local else hydra_backup_environment_remote $1 restore fi # Check if folder exist on the backup. if [ -d "$RESTOREDIR/var/svn" ]; then echo "SVN folder does not exist: $RESTOREDIR/var/svn" exit 1 fi # Backup it. hydractl backup-site svn # Set svn user. if hydra_check_user svn; then SVN_USER="svn" else SVN_USER="root" fi # Set svn group. if hydra_check_group svn; then SVN_GROUP="svn" else SVN_GROUP="root" fi # Copy site folder from backup. cp -a $RESTOREDIR/var/svn /var/svn # Fix permissions. chown root.root /var/svn chown -R $SVN_USER.$SVN_GROUP /var/svn/*