kennzeichen-seite/scripts/backup_pb.sh
2026-05-20 20:47:07 +02:00

27 lines
901 B
Bash
Executable file

#!/usr/bin/env bash
# backup_pb.sh — PocketBase-Daten sichern (als Cron-Job)
#
# Speichert pb_data als .tar.gz in ~/kennzeichen/backups/
# Behält die letzten 14 Tage.
#
# Cron einrichten (täglich 03:00):
# crontab -e
# 0 3 * * * bash /home/denode/kennzeichen/scripts/backup_pb.sh >> /var/log/kennzeichen-backup.log 2>&1
set -e
BACKUP_DIR="$HOME/kennzeichen/backups"
CONTAINER="kennzeichen-pocketbase-1"
DATE=$(date '+%Y-%m-%d')
OUT="$BACKUP_DIR/pb_data_$DATE.tar.gz"
mkdir -p "$BACKUP_DIR"
# pb_data aus Container holen und packen
echo "$(date '+%Y-%m-%d %H:%M') Backup → $OUT"
docker exec "$CONTAINER" tar -czf - /pb/pb_data 2>/dev/null > "$OUT"
echo " Größe: $(du -sh "$OUT" | cut -f1)"
# Alte Backups löschen (älter als 14 Tage)
find "$BACKUP_DIR" -name "pb_data_*.tar.gz" -mtime +14 -delete
echo " Vorhandene Backups: $(ls "$BACKUP_DIR"/pb_data_*.tar.gz 2>/dev/null | wc -l)"