Allow to dump with -Fd fixing issue #28

This commit is contained in:
Pau Rodriguez-Estivill
2020-08-20 19:00:22 +02:00
parent 35efb3cfb7
commit a01eae32be
4 changed files with 23 additions and 8 deletions
+20 -8
View File
@@ -63,20 +63,32 @@ mkdir -p "${BACKUP_DIR}/daily/" "${BACKUP_DIR}/weekly/" "${BACKUP_DIR}/monthly/"
#Loop all databases
for DB in ${POSTGRES_DBS}; do
#Initialize filename vers
DFILE="${BACKUP_DIR}/daily/${DB}-`date +%Y%m%d-%H%M%S`.sql.gz"
WFILE="${BACKUP_DIR}/weekly/${DB}-`date +%G%V`.sql.gz"
MFILE="${BACKUP_DIR}/monthly/${DB}-`date +%Y%m`.sql.gz"
DFILE="${BACKUP_DIR}/daily/${DB}-`date +%Y%m%d-%H%M%S`${BACKUP_SUFFIX}"
WFILE="${BACKUP_DIR}/weekly/${DB}-`date +%G%V`${BACKUP_SUFFIX}"
MFILE="${BACKUP_DIR}/monthly/${DB}-`date +%Y%m`${BACKUP_SUFFIX}"
#Create dump
echo "Creating dump of ${DB} database from ${POSTGRES_HOST}..."
pg_dump -f "${DFILE}" ${POSTGRES_HOST_OPTS} ${DB}
#Copy (hardlink) for each entry
ln -vf "${DFILE}" "${WFILE}"
ln -vf "${DFILE}" "${MFILE}"
if [ -d "${DFILE}" ]; then
WFILENEW="${WFILE}-new"
MFILENEW="${MFILE}-new"
rm -rf "${WFILENEW}" "${MFILENEW}"
mkdir "${WFILENEW}" "${MFILENEW}"
ln -f "${DFILE}/"* "${WFILENEW}/"
ln -f "${DFILE}/"* "${MFILENEW}/"
rm -rf "${WFILE}" "${MFILE}"
mv -v "${WFILENEW}" "${WFILE}"
mv -v "${MFILENEW}" "${MFILE}"
else
ln -vf "${DFILE}" "${WFILE}"
ln -vf "${DFILE}" "${MFILE}"
fi
#Clean old files
echo "Cleaning older than ${KEEP_DAYS} days for ${DB} database from ${POSTGRES_HOST}..."
find "${BACKUP_DIR}/daily" -maxdepth 1 -mtime +${KEEP_DAYS} -name "${DB}-*.sql*" -exec rm -rf '{}' ';'
find "${BACKUP_DIR}/weekly" -maxdepth 1 -mtime +${KEEP_WEEKS} -name "${DB}-*.sql*" -exec rm -rf '{}' ';'
find "${BACKUP_DIR}/monthly" -maxdepth 1 -mtime +${KEEP_MONTHS} -name "${DB}-*.sql*" -exec rm -rf '{}' ';'
find "${BACKUP_DIR}/daily" -maxdepth 1 -mtime +${KEEP_DAYS} -name "${DB}-*${BACKUP_SUFFIX}" -exec rm -rf '{}' ';'
find "${BACKUP_DIR}/weekly" -maxdepth 1 -mtime +${KEEP_WEEKS} -name "${DB}-*${BACKUP_SUFFIX}" -exec rm -rf '{}' ';'
find "${BACKUP_DIR}/monthly" -maxdepth 1 -mtime +${KEEP_MONTHS} -name "${DB}-*${BACKUP_SUFFIX}" -exec rm -rf '{}' ';'
done
echo "SQL backup created successfully"