[Vorest gelöst]Fhem Backup schreibt SD Karte voll!

Begonnen von Gueco315, 05 Mai 2021, 16:29:45

Vorheriges Thema - Nächstes Thema

Otto123

wenn der IO im Overload steht wahrscheinlich nicht mehr.
Alle notify und DOIF die was mit HM Aktoren machen erstmal disabeln.
Dann die Eventtrigger kontrollieren und so spezifisch wie nur möglich machen!
eocr .* kann auch helfen

Es gibt schon zahlreiche Threads mit Homematic Problemfällen ...
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Gueco315

Hallo Zusammen,

nachdem ich heute das Backup händisch angestoßen hatte, lief die SD-Karte wieder voll. Der Grund war, mein Synology NAS-Laufwerk war nicht gemountet!
@Otto: Wie kann ich im Backup-Script sicherstellen, das das NAS gemountet ist?

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Wernieman

Welches Script verwendest Du?

Wie mountest Du überhaupt?
- im Backup-Script
- Automount
- fstab
- ......
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gueco315

.. ich habe das über die fstab geregelt:
<IP>:/volume1/raspibackups /backup nfs rw,nfsvers=3 0 0

Hast du einen besseren Vorschlag? Wie könnte ich es "intelligenter" bzw. sicherer in das Script einbauen?

#!/bin/bash

# VARIABLEN - HIER EDITIEREN
BACKUP_PFAD="/backup"
BACKUP_ANZAHL="3"
BACKUP_NAME="Fhem4"
BACKUP_ZEIT=$(date +%Y%m%d-%H%M%S)
# ENDE VARIABLEN

# Backup mit Hilfe von dd erstellen und im angegebenen Pfad speichern
dd if=/dev/mmcblk0 of=${BACKUP_PFAD}/${BACKUP_NAME}-${BACKUP_ZEIT}.img bs=1MB

# Alte Sicherungen die nach X neuen Sicherungen entfernen
pushd ${BACKUP_PFAD}; ls -tr ${BACKUP_PFAD}/${BACKUP_NAME}* | head -n -${BACKUP_ANZAHL} | xargs rm; popd

# Mit PiShrink die Backup-Datei verkleinern
pishrink.sh ${BACKUP_PFAD}/${BACKUP_NAME}-${BACKUP_ZEIT}.img

# nur 5 Backups behalten und ein paar wichtige Dateien sichern ...
cd /opt/fhem/backup
ls -1t |tail -n +6|xargs sudo rm -rf
sudo cp /opt/fhem/backup/*.* /backup/logs
sudo cp /opt/fhem/fhem.cfg /backup/cfg/fhem.cfg_`date +%y%m%d_%H%M`

Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Otto123

#49
Das Script ist quasi grob fahrlässig :)
Es prüft überhaupt nicht, aber erzeugt bei einem mount Fehler eine Datei in Größe des vorhandenen Speichers. Das muss quasi schiefgehen.
Du kannst mit sowas prüfen (ist ein Schnellschuss und vielleicht nicht die bestes Variante):
if grep /volume1/raspibackups /proc/mounts ; then
echo "gemountet"
else
echo "nicht gemountet"
fi

Du kannst auch das Vorhandensein eines Unterverzeichnisses prüfen, was nur vorhanden ist wenn erfolgreich gemountet ist
if [ -d "/backup/Testpfad"] ...
Und Deinen Code nur ausführen wenn gemounted ist.
Ich bleibe ja dabei, ich würde mounten, backup machen, umount machen.

Warum: Ich finde es gefährlich wenn das backup Verzeichnis immer gemountet ist. Ich weiß es wird immer noch behauptet es gibt keine Schadsoftware für Linux, aber der größte potentielle Schädling heißt Admin :)

Da kann man den Erfolg des mount Befehls prüfen.
if mount /media/magenta; then
echo "gemountet"
else
echo "nicht gemountet"
fi


Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Wernieman

Wenn Du "mountest", kannst Du auch den Fehlercode ($?) des Kommandos auswerten.

Und alternativ: automount!

Aber bleiben wir bei dem Script: Mit welchem User startest Du es?

Und btw: dd eines gemounteten Dateisystem ist ... problematisch. Es kann, muß aber nicht konsistent sein. Ob Du es schaffst, ein nicht konsistentes Dateisystem zu reparieren ...
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

Gueco315

Hallo,

ich habe die beiden Vorschläge eingebaut, sowohl das mout und umount für den online Backupprozess als auch die Abfrage ob die Verbindung steht.

Zur Frage von Werniemann, ich habe schon mehrfach die Online Backups restored. Alles okay.

Danke an euch,

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA