Das Problem, das fehlerhafte Backups den Speicher des Raspberry vollgeschrieben haben, hatte ich auch. Vielleicht hilft meine Variante.
Mittlerweile mounte ich den USB-Stick an der Fritz!Box erst beim Aufruf des scripts. Dieses ist aus mehreren Quellen zusammengesucht (bin absoluter Newbie) und etwas angepasst, da zum Mount mit der Fritz!Box mittlerweile einige Ergänzungen erforderlich sind (Samba v3.0, noserverion). Nicht eingebaut ist das automatische Verkleinern des Images über PiShrink.
Code: Alles auswählen
#!/bin/bash
#Dateiname backup_image.sh
#Speiecherort /solaranzeige
#Datei ausführbar machen mit sudo chmod +x backup_image.sh
#Festplatte einbinden
sudo mount -t cifs //192.168.178.1/FRITZ.NAS/USB-SanDisk3-2Gen1-01 /mnt/nas -o credentials=/etc/samba/auth,vers=3.0,noserverino
# VARIABLEN - HIER EDITIEREN
BACKUP_PFAD="/mnt/nas/backups"
BACKUP_ANZAHL="2"
BACKUP_NAME="SolAnzBackup"
# ENDE VARIABLEN
# Backup mit Hilfe von dd erstellen und im angegebenen Pfad speichern
dd if=/dev/sda of=${BACKUP_PFAD}/${BACKUP_NAME}-$(date +%Y%m%d-%H%M%S).img bs=1MB status=progress
# Alte Sicherungen die nach X neuen Sicherungen entfernen
pushd ${BACKUP_PFAD}; ls -tr ${BACKUP_PFAD}/${BACKUP_NAME}* | head -n -${BACKUP_ANZAHL} | xargs rm; popd
#Festplatte auswerfen
sudo umount /mnt/nas
Aufruf über crontab jeweils zum 1. und 15. des Monats.
Damit fehlerhafte Backups den Raspberry nicht an seine Speichergrenze bringen, wir der Ordner wöchentlich über einen crontab aufgeräumt.
Tipp kam hier aus der Community.
Code: Alles auswählen
00 5 * * * find /mnt/nas/backups -mtime +2 -type f -exec rm -rf {} \;
02 5 * * * find /mnt/nas/backups -empty -type d -delete
Diese Variante läuft noch parallel zum täglichen Backup der influxdb, sowie einiger Ordner mit diversen Einstellungsdateien.