#!/bin/bash # # Restore master configuration and data into a master node. # # 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 # Command line arguments BASENAME="`basename $0`" # Parameters. HOST="$1" DOMAIN="`facter domain`" # Check for a backup key if ! gpg --list-secret-keys root@$BACKUP.$DOMAIN &> /dev/null; then echo "fatal: secret key for root@$BACKUP.$DOMAIN not available" exit 1 fi # Check base restore folder if [ ! -d "/var/backups/remote/$BACKUP.$DOMAIN/restore/" ]; then echo "fatal: restore folder /var/backups/remote/$BACKUP.$DOMAIN/restore/ not available" exit 1 fi hydractl backup-restore $HOST rsync hydractl backup-restore-git $HOST hydractl backup-restore-database $HOST puppet hydractl backup-restore-site $HOST rsync admin hydractl backup-restore-puppet $HOST hydractl backup-restore-nagios $HOST hydractl backup-restore-munin $HOST # Teardown echo "Now check the restoration process and cleanup keys and files by running:" echo "rm -rf /var/backups/remote/$BACKUP.$DOMAIN/restore/" echo "gpg --delete-secret-and-public-keys root@$BACKUP.$DOMAIN"