Files
stock-listing-app/scripts/backup-db.sh
T

17 lines
516 B
Bash
Raw Normal View History

#!/usr/bin/env bash
# Daily pg_dump of the stocklist Postgres container, run by the
# stock-app-backup systemd timer. Keeps the last 14 days of backups.
set -euo pipefail
BACKUP_DIR="$HOME/backups/stocklist-postgres"
mkdir -p "$BACKUP_DIR"
TIMESTAMP=$(date +%Y%m%d-%H%M%S)
OUT_FILE="$BACKUP_DIR/stocklist-$TIMESTAMP.sql.gz"
docker exec stocklist-postgres pg_dump -U stocklist stocklist | gzip > "$OUT_FILE"
find "$BACKUP_DIR" -name '*.sql.gz' -mtime +14 -delete
echo "Backed up stocklist database to $OUT_FILE"