#!/bin/bash PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11 BACKUP_BASE_DIR="/backup/psql" if [ ! -d $BACKUP_BASE_DIR ] ; then echo echo " Backup directory not found" echo exit 1 fi PSQL_USER=postgres PSQL_BIN_DIR=/usr/local/pgsql/bin logfile=restore_db.log # -- Wiedrherstellung der datanbakuser und datenbankdefinitionen # -- ## restore_file=`find $BACKUP_BASE_DIR -maxdepth 1 -mindepth 1 -type f -printf "%f\n" | grep db_users_databases` _list=`ls -t ${BACKUP_BASE_DIR}/db_users_databases*` restore_file=`echo $_list | awk '{print$1}'` echo -e "\nWiedrherstellung der datanbakuser und datenbankdefinitionen" echo -e "\tsu $PSQL_USER -c\"${PSQL_BIN_DIR}/psql -f $restore_file template1\"\n" su $PSQL_USER -c"${PSQL_BIN_DIR}/psql -f $restore_file template1" > $logfile 2>&1 # -- Wiedrherstellung der datanbakdaten # -- databases=`find $BACKUP_BASE_DIR -maxdepth 1 -mindepth 1 -type d -printf "%f "` echo "Wiedrherstellung der datanbakdaten" for db in $databases ; do _list=`ls -d -t ${BACKUP_BASE_DIR}/$db/*` file=`echo $_list | awk '{print$1}'` echo " ${db}: su $PSQL_USER -c\"${PSQL_BIN_DIR}/psql -f $file $db\"" su $PSQL_USER -c"${PSQL_BIN_DIR}/psql -f $file $db" >> $logfile 2>&1 done echo exit 0