Files
proxmox-gitea/scripts/backup.sh
Martin Eckardt 4bf2207dcf Initial commit: Gitea Docker Setup für Proxmox
- Docker-Compose Konfiguration
- Setup-Script für LXC Container
- Backup-Script mit Rotation
- Installationsanleitung

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-28 14:01:12 +01:00

47 lines
1.3 KiB
Bash

#!/bin/bash
# Gitea Backup Script
# Erstellt ein Backup der Gitea-Daten
set -e
BACKUP_DIR="/opt/gitea-backups"
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_NAME="gitea-backup-${DATE}.tar.gz"
RETENTION_DAYS=7
# Backup-Verzeichnis erstellen
mkdir -p "$BACKUP_DIR"
echo "=== Gitea Backup gestartet: $(date) ==="
# Docker Volume Pfad ermitteln
VOLUME_PATH=$(docker volume inspect gitea-data --format '{{ .Mountpoint }}')
if [ -z "$VOLUME_PATH" ]; then
echo "Fehler: gitea-data Volume nicht gefunden!"
exit 1
fi
# Gitea stoppen für konsistentes Backup
echo "Stoppe Gitea..."
cd /opt/gitea && docker compose stop gitea
# Backup erstellen
echo "Erstelle Backup: $BACKUP_NAME"
tar -czf "${BACKUP_DIR}/${BACKUP_NAME}" -C "$VOLUME_PATH" .
# Gitea wieder starten
echo "Starte Gitea..."
cd /opt/gitea && docker compose start gitea
# Alte Backups löschen
echo "Lösche Backups älter als ${RETENTION_DAYS} Tage..."
find "$BACKUP_DIR" -name "gitea-backup-*.tar.gz" -mtime +${RETENTION_DAYS} -delete
# Backup-Größe anzeigen
BACKUP_SIZE=$(du -h "${BACKUP_DIR}/${BACKUP_NAME}" | cut -f1)
echo "=== Backup abgeschlossen: ${BACKUP_NAME} (${BACKUP_SIZE}) ==="
# Optional: Backup zu externem Speicher kopieren (auskommentiert)
# rsync -av "${BACKUP_DIR}/${BACKUP_NAME}" user@backup-server:/backups/gitea/