cronjob zum Backup fhem.db

Begonnen von franky08, 11 März 2014, 17:19:10

Vorheriges Thema - Nächstes Thema

marvin78

Ich würde den Satz erweitern und sagen "Datenbanken in einer Produktivumgebung gehören nicht auf USB Laufwerke". Und dann unterschreibe ich das zu 100%. Auch gehören sie nicht auf SD-Karten.

betateilchen

wenn man am Verzweifeln ist, weil das fhem-Log abkackt, ist das fhem in diesem Fall wohl eine Produktivumgebung 8)

Bei mir werden alle Logdaten älter als 1 Woche jede Nacht automatisch gelöscht. Ich hab sie noch nie vermißt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

marvin78

Bei mir nach 15 Tagen. Ein paar Temperaturdaten sichere ich vorher weg. Für den Rest habe ich noch keine längerfristige Verwendung ausmachen können.

Stimmt, wenn man verzweifelt ist, dann war es wohl was wichtiges ;) - Bei meinem Problem handelte es sich damals noch um erste Tests mit einem Raspberry, deshalb war ich nicht so traurig als die Daten weg waren.

franky08

Mmh, dann hätte ich aber auch keine Verlaufsgrafiken vom Strom, über´s Jahr.

VG
Frank
Debian Bookworm auf HUNSN / Debian Bullseye auf 2.ter HUNSN F2F an 2x RaspiB
mit FHEM aktuell
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu, raspmatic_rpi3, HMIP-HCU1

Puschel74

Es sei den du sicherst diese vorher  ;D
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

marvin78

Man kann Daten aus einer DB ja auch selektiv löschen. ODER man schreibt die Daten, die man über einen längeren Zeitraum benötigt, regelmäßig in eine andere Tabelle. So mache ich es mit einigen Temperaturwerten.

betateilchen

Oder Du legst Dir eine zweite LogDb an, in der Du nur die Werte aufzeichnest, die Du wirklich länger brauchst.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Puschel74

Na dann werd ich mal schauen wie ich meine DB auf eines meiner NAS bekomme.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Wernieman

Noch ein kleiner Hinweis für Aufrufe in ein einem crontab:
Ein Job, der per cron aufgerufen wird, hat nicht seine normale Userumgebung. Vorallem ist die PATH-Variable nicht gesetzt, d.h. viele programm findet das Unix-System NICHT mehr automatisch.

Hier dürfte z.B. der Befehl "sqlite3" nicht gefunden werden.
- 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

betateilchen

Das ist doch nun wirklich keine neue Erkenntnis. In der crontab sollte man ohnehin nur mit vollständigen Pfadangaben arbeiten - wie auch in fhem bei qx() - oder den Pfad einfach direkt in der crontab setzen.

Oder man legt sich einen symbolischen Link von /usr/bin/sqlite3 nach /bin/sqlite3.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

Dann Gucke Dir bitte Seine crontab im  ersten Beitrag an.

Und auch wenn es "bekannt" sein sollte, 90% der Anfänger-Crontab-Fehler kann man mit diesem Hinweis "lösen"
- 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

betateilchen

Ja, Du hast ja Recht.

Trotzdem ist der cronjob hier grundsätzlich der falsche Ansatz. Da spielt auch der Fehler in der crontab keine Rolle mehr  8)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Wernieman

#27
Oder noch genauer gesagt:
Eine solche Komplexer Befehlskette gehört in ein eigenständiges Proggi /bash-Datei)

Wir sind wieder mal auf einer Linie  :D

P.S. (Sorry fürs Kapern)
Ich hatte mal vor kurzen in einem Beitrag einige Unix-Befehle kurz beschrieben. Weißt Du eventuell, welcher Beitrag es war? Finde den nicht wieder .....
Hat sich erledigt. Komisch .. man fragt jemanden und gleich darauf findet man die Lösung
- 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