#!/usr/bin/env bash

export BACKUP_FREQUENCY=${BACKUP_FREQUENCY:-12h}
export BACKUPS_TO_RETAIN=${BACKUPS_TO_RETAIN:-5}

while true; do
    sleep "$BACKUP_FREQUENCY"
    echo "Performing a base backup..."
    if [[ -f "$PGDATA/recovery.conf" ]] ; then
        echo "Database is currently recovering from a backup. Will try again next loop..."
    else
        # perform a backup
        envdir "$WALE_ENVDIR" wal-e backup-push "$PGDATA"
        # only retain the latest BACKUPS_TO_RETAIN backups
        envdir "$WALE_ENVDIR" wal-e delete --confirm retain "$BACKUPS_TO_RETAIN"
        echo "Backup has been completed."
    fi
done
