#!/bin/bash set -euo pipefail umask 077 BACKUP_DIR="/var/backups/postgresql" STAMP="$(date +%Y%m%d-%H%M%S)" OUTPUT_FILE="$BACKUP_DIR/pg_dumpall-$STAMP.sql.gz" mkdir -p "$BACKUP_DIR" runuser -u postgres -- pg_dumpall --quote-all-identifiers | gzip -9 > "$OUTPUT_FILE" find "$BACKUP_DIR" -type f -name 'pg_dumpall-*.sql.gz' -mtime +14 -delete