#!/bin/sh

PG_DUMP=pg_dump

TMP_DIR=/tmp/backups
APP_NAME=suite
DB_NAME=${APP_NAME}
DATA_SRC_DIR="/app/data/${APP_NAME}"

DATETIME=`date '+%Y%m%d%H%M'`
ARCHIVE="${APP_NAME}_${DATETIME}"

ARCHIVE_DIR="${TMP_DIR}/${ARCHIVE}"
ARCHIVE_DATA_DIR="${ARCHIVE_DIR}/data"
ARCHIVE_DB_DIR="${ARCHIVE_DIR}/db"

mkdir "${TMP_DIR}"
mkdir "${ARCHIVE_DIR}"
mkdir "${ARCHIVE_DATA_DIR}"
mkdir "${ARCHIVE_DB_DIR}"

chmod -R 777 "${ARCHIVE_DIR}"

OLD_PWD=`pwd`
cd $ARCHIVE_DIR;

$PG_DUMP --host 127.0.0.1 --port 5432 --username "postgres" --no-password  --format plain --no-owner --create --clean --inserts --no-privileges --no-tablespaces --no-unlogged-table-data --file "./db.sql" "${DB_NAME}"

mv "./db.sql" "db/db.sql"
cp -R "${DATA_SRC_DIR}/." data

tar -cvf - data db | gzip > "../${ARCHIVE}.tgz"
rm -rf "${ARCHIVE_DIR}"

cd $OLD_PWD
echo "Backup created - file ${ARCHIVE_DIR}.tgz"
