18 lines
579 B
Bash
18 lines
579 B
Bash
#!/usr/bin/env bash
|
||
# Einfaches SQLite-Backup für CheckPoint Ehrenamt.
|
||
# Nutzt das Online-Backup (.backup) – konsistent auch im laufenden Betrieb (WAL).
|
||
# Per Cron einmal täglich, siehe DEPLOY.md.
|
||
set -euo pipefail
|
||
|
||
DB="/opt/checkpoint/instance/checkpoint.sqlite"
|
||
ZIEL="/opt/checkpoint/backups"
|
||
AUFBEWAHRUNG_TAGE=14
|
||
|
||
mkdir -p "$ZIEL"
|
||
STAMP="$(date +%Y%m%d-%H%M%S)"
|
||
sqlite3 "$DB" ".backup '$ZIEL/checkpoint-$STAMP.sqlite'"
|
||
|
||
# Alte Backups aufräumen.
|
||
find "$ZIEL" -name 'checkpoint-*.sqlite' -mtime "+$AUFBEWAHRUNG_TAGE" -delete
|
||
|
||
echo "Backup: $ZIEL/checkpoint-$STAMP.sqlite"
|