17 lines
516 B
Bash
17 lines
516 B
Bash
#!/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"
|