Former-commit-id:06a8b51d6d
[formerlya02aeb236c
[formerly9f19e3f712
] [formerly06a8b51d6d
[formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]] Former-commit-id:a02aeb236c
[formerly9f19e3f712
] Former-commit-id:a02aeb236c
Former-commit-id:133dc97f67
54 lines
1.6 KiB
Bash
Executable file
54 lines
1.6 KiB
Bash
Executable file
#!/bin/bash
|
|
# args:
|
|
# $1 == (required) IHFS database name
|
|
# $2 == (optional) location of IHFS dump file
|
|
|
|
if [ $# -eq 0 ]
|
|
then
|
|
echo "usage database [dump file]"
|
|
exit 0
|
|
fi
|
|
|
|
IHFS=${1}
|
|
if [ -n "${2}" ]
|
|
then
|
|
IHFS_SQL_FILE=${2}
|
|
else
|
|
IHFS_SQL_FILE=/tmp/ihfs_data.sql
|
|
fi
|
|
|
|
echo "restoring IHFS database dump"
|
|
echo " restoring data from ${IHFS_SQL_FILE}"
|
|
echo " Determining DB connection information"
|
|
POSTMASTER_STR=`ps ax -o user,args | grep postmaster | grep -v grep`
|
|
ERROR=0
|
|
if [ -n "${POSTMASTER_STR}" ];then
|
|
echo " setting PSQL running environment"
|
|
PG_USER=`echo ${POSTMASTER_STR} | cut -d ' ' -f 1`
|
|
PG_PORT=`echo ${POSTMASTER_STR} | cut -d ' ' -f 6`
|
|
PG_DAEMON=`echo ${POSTMASTER_STR} | cut -d ' ' -f 2`
|
|
PG_BIN_DIR=`dirname ${PG_DAEMON}`
|
|
echo " using PSQL in ${PG_BIN_DIR}"
|
|
export PATH=${PG_BIN_DIR}:${PATH}
|
|
PG_BASE_DIR=`dirname ${PG_BIN_DIR}`
|
|
DB_BASE_DIR=`dirname ${PG_BASE_DIR}`
|
|
echo " setting LD_LIBRARY_PATH = ${PG_BASE_DIR}/lib:${DB_BASE_DIR}/psql/lib"
|
|
export LD_LIBRARY_PATH="${PG_BASE_DIR}/lib:${DB_BASE_DIR}/psql/lib"
|
|
echo " ${PG_BIN_DIR}/psql -q -U ${PG_USER} -p ${PG_PORT} -d ${IHFS} < ${IHFS_SQL_FILE}"
|
|
${PG_BIN_DIR}/psql -q -U ${PG_USER} -p ${PG_PORT} -d ${IHFS} < ${IHFS_SQL_FILE}
|
|
if [ $? -ne 0 ];then
|
|
echo " WARNING: Unable to import ${IHFS_SQL_FILE} to ${IHFS}"
|
|
ERROR=1
|
|
fi
|
|
else
|
|
echo " WARNING: Unable to determine DB connection information; data import not performed"
|
|
ERROR=2
|
|
fi
|
|
|
|
if [ $ERROR -eq 0 ]
|
|
then
|
|
echo "${IHFS} data import completed successfully"
|
|
else
|
|
echo "encountered errors importing ${IHFS}"
|
|
fi
|
|
exit ${ERROR}
|