37 lines
793 B
Plaintext
37 lines
793 B
Plaintext
# Online backup script using pg_basebackup
|
|
##########################################
|
|
|
|
BACKUP_DIR=/backup/postgresql/pgdata
|
|
BACKUP_COMPRESSED_DIR=/backup/postgresql/daily
|
|
|
|
if [ -z "${BACKUP_DIR}" ]
|
|
then
|
|
echo "\${BACKUP_DIR} variable is empty"
|
|
exit 1
|
|
else
|
|
rm -rf ${BACKUP_DIR}/*
|
|
fi
|
|
|
|
if [ -z "${BACKUP_COMPRESSED_DIR}" ]
|
|
then
|
|
echo "\${BACKUP_COMPRESSED_DIR} variable is empty"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
pg_basebackup -h localhost -P -D ${BACKUP_DIR}
|
|
pg_verifybackup ${BACKUP_DIR}
|
|
|
|
if [ "$?" != "0" ]
|
|
then
|
|
echo "Verify backup failed"
|
|
exit 1
|
|
fi
|
|
|
|
NOW=$(date '+%Y-%m-%d__%H_%M_%S')
|
|
cd ${BACKUP_DIR}
|
|
tar -cvf - * | pigz > ${BACKUP_COMPRESSED_DIR}/${NOW}.tar.gz
|
|
##########################################
|
|
|
|
|
|
# https://public.dalibo.com/exports/formation/manuels/modules/i2/i2.handout.html |