23 lines
777 B
Bash
23 lines
777 B
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
cd "$(dirname "$0")/.."
|
|
mkdir -p backups
|
|
stamp="$(date -u +%Y%m%dT%H%M%SZ)"
|
|
|
|
set -a
|
|
[[ -f .env ]] && source .env
|
|
set +a
|
|
|
|
if [[ -n "${DATABASE_URL:-}" && "${DATABASE_URL}" == postgresql* ]]; then
|
|
command -v pg_dump >/dev/null || { echo "pg_dump ontbreekt" >&2; exit 1; }
|
|
pg_dump "${DATABASE_URL}" | gzip -9 > "backups/vacatureradar-${stamp}.sql.gz"
|
|
else
|
|
db="local/db.sqlite3"
|
|
[[ -f "$db" ]] || { echo "Geen SQLite-database gevonden" >&2; exit 1; }
|
|
cp "$db" "backups/vacatureradar-${stamp}.sqlite3"
|
|
fi
|
|
|
|
tar -czf "backups/vacatureradar-files-${stamp}.tar.gz" --exclude='media/tmp' media config-data .env.example 2>/dev/null || true
|
|
sha256sum backups/*"${stamp}"* > "backups/SHA256SUMS-${stamp}.txt"
|
|
echo "Back-up klaar in backups/"
|