03/04/17 13:09
#/bin/sh
# PostgreSQL database backup script
# Dump to DATABASE_NAME_YYMMDD.pgdmp.
# Delete expired files.
# Output log.
# Setting
TARGET_DB='firstinfo tka' # List target database name.
DIR=/home/postgres
LOG=${DIR}/pgdump.log
BACKUPDIR=${DIR}/dbbackup
EXPIRE_DAY=90
# Main routine
echo "pg_dump start." `date` >> ${LOG}
date=`date +%Y%m%d`
for db_name in ${TARGET_DB}
do
DUMP_FILE_PATH=${BACKUPDIR}/${db_name}_${date}.pgdmp
/usr/local/pgsql/bin/pg_dump ${db_name} -b -o -Fc > ${DUMP_FILE_PATH} 2>>${LOG}
echo "Database ${db_name} backup complete." `date` >> ${LOG}
done
echo "pg_dump complete." `date` >> ${LOG}
echo "Delete obosolete pgdmp files start." `date` >> ${LOG}
find ${BACKUPDIR} -type f -daystart -mtime +${EXPIRE_DAY} |xargs /bin/rm -f
echo "Delete obosolete pgdmp files complete." `date` >> ${LOG}