#!/usr/bin/env bash export BACKUP_FREQUENCY=${BACKUP_FREQUENCY:-3h} export BACKUPS_TO_RETAIN=${BACKUPS_TO_RETAIN:-5} while true; do sleep "$BACKUP_FREQUENCY" echo "database: performing a backup..." if [[ -f /var/lib/postgresql/9.3/main/recovery.conf ]] ; then echo "database: database is currently recovering from a backup. Will try again next loop..." else # perform a backup envdir /etc/wal-e.d/env wal-e backup-push /var/lib/postgresql/9.3/main # only retain the latest BACKUPS_TO_RETAIN backups envdir /etc/wal-e.d/env wal-e delete --confirm retain "$BACKUPS_TO_RETAIN" echo "database: backup has been completed." fi done