Files
2026-04-19 18:30:01 +03:00

25 lines
592 B
Bash
Executable File

#!/bin/bash
set -euo pipefail
BACKUP_DIR="/backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
DUMP_FILE="${BACKUP_DIR}/fr24_${TIMESTAMP}.sql.gz"
KEEP_LAST=7
echo "[backup] starting dump at ${TIMESTAMP}"
pg_dump \
-h "${PGHOST:-postgres}" \
-U "${PGUSER:-fr24}" \
-d "${PGDATABASE:-fr24}" \
--no-password \
| gzip > "${DUMP_FILE}"
echo "[backup] dump written: ${DUMP_FILE} ($(du -sh "${DUMP_FILE}" | cut -f1))"
# Keep only last N dumps
cd "${BACKUP_DIR}"
ls -1t fr24_*.sql.gz 2>/dev/null | tail -n +$((KEEP_LAST + 1)) | xargs -r rm -v
echo "[backup] done. kept last ${KEEP_LAST} dumps."