Postgres – Backup & Rotate (Bash)

Below is a ready-to-use script. Review and adapt variables to your environment.

#!/usr/bin/env bash
set -euo pipefail
DEST="/var/backups/postgres"
RET=7
mkdir -p "$DEST"
STAMP=$(date +%F_%H%M)
pg_dumpall -U postgres | gzip > "$DEST/pg-$STAMP.sql.gz"
ls -1t "$DEST"/pg-*.sql.gz | tail -n +$((RET+1)) | xargs -r rm -f
  

← Back to SQL