Hallo zusammen
Falls jemanden funktionierendes Full Backup seiner Sd-Card aus Synology-NAS möchte - hier eine funktionierende Version erstellt mit ChatGPT.
Nach dem Backup wird das Ganze noch mit GZIP komprimiert und alle Versionen älter als 30 Tage werden automatisch gelöscht - vorausgesetzt die gerade laufende Sicherung bringt keine Fehler . Man muss noch das GZIP packe installieren
sudo apt install nfs-common cifs-utils pigz -y
Installation:
mkdir /mnt/nas
-----
cd /etc/local/bin
Nano Backup.sh
das untenstehende reinkopieren
dann chmod +x backup.sh
------------
aufruf: backup.sh
fertig.
bei mir dauert es kanpp 10 Minuten meine SD-Card ist 8 GB groß nach der Komprimierung sind es nur noch 1,4 GB.
P.S: ich bin in Linux ein Anfänger- das ganze hat CHATGPT erstellt ich hab nur die Pfade angepasst.
leider kann ich keine Hilfestellung geben - da ich mich nur rudimentär in der Materie auskenne
LG Roger
#!/bin/bash
# Backup-Skript für Raspberry Pi SD-Karte auf NAS (NFS-Version)
# Autor: ChatGPT
# Datum: 2025-10-10
set -euo pipefail
# --- Konfiguration ---
NAS_IP="192.168.178.8"
NAS_PATH="/volume1/Sicherung/#Raspi/Homebridge" # Pfad auf dem NAS (anpassen! - die müssen vorhanden sein
MOUNT_POINT="/mnt/nas" # Lokaler Mountpunkt muss auch vorhanden sein
BACKUP_NAME="raspi_sd_$(date +%Y%m%d).img.gz"
BACKUP_FILE="$MOUNT_POINT/$BACKUP_NAME"
SD_DEVICE="/dev/mmcblk0"
LOGFILE="/var/log/backup_sd.log"
RETENTION_DAYS=30
# Optional: pigz für schnellere Kompression verwenden (falls vorhanden)
COMPRESSOR=$(command -v pigz
echo gzip)
# --- Logging-Funktion ---
log() {
echo "[$(date '+%F %T')] $*" | tee -a "$LOGFILE"
}
log "=== Backup gestartet ==="
# --- NAS mounten ---
if ! mountpoint -q "$MOUNT_POINT"; then
log "Mount NAS NFS-Freigabe..."
mkdir -p "$MOUNT_POINT"
mount -t nfs "${NAS_IP}:${NAS_PATH}" "$MOUNT_POINT" -o rw,sync,hard,intr
fi
# --- Prüfen, ob Mount erfolgreich ---
if ! mountpoint -q "$MOUNT_POINT"; then
log "Fehler: NAS konnte nicht gemountet werden!"
exit 1
fi
# --- Backup erstellen ---
log "Erstelle komprimiertes Image von $SD_DEVICE → $BACKUP_FILE"
if dd if="$SD_DEVICE" bs=4M status=progress | $COMPRESSOR > "$BACKUP_FILE"; then
log "Backup erfolgreich abgeschlossen: $BACKUP_FILE"
# --- Alte Backups löschen ---
log "Lösche Backups älter als $RETENTION_DAYS Tage..."
find "$MOUNT_POINT" -type f -name "raspi_sd_*.img.gz" -mtime +$RETENTION_DAYS -print -delete | tee -a "$LOGFILE"
else
log "Fehler: Backup fehlgeschlagen!"
umount "$MOUNT_POINT"
true
exit 1
fi
# --- NAS aushängen ---
umount "$MOUNT_POINT"
log "=== Backup abgeschlossen ==="
exit 0
ich sehe gerade da wird dieses Symbol
stat der 2 senkrechten Striche eingefügt