FHEM.cfg auf gemountetes Laufwerk automatisch kopieren

Begonnen von Marlen, 07 Februar 2017, 08:06:40

Vorheriges Thema - Nächstes Thema

Marlen

Hallo,

nachdem ich es jetzt geschafft habe die Festplatte an meiner FB mit dem Raspberry zu mounten,
suche ich jetzt nach einer Lösung die fhem.cfg etc. automatisiert dort hin zu kopieren, ideal wäre natürlich wenn man die Datei dabei noch mit dem Datum versehen kann z.B. fhem-2017-02-07.cfg

LG
  Marlen

franky08

#1
Sieh dir mal den Linux Befehl cp an, kannst du als cron Job laufen lassen oder aus fhem, über ein at z.B.

Beispiel, ich kopiere hiermit jede Nacht das Logverzeichnis rekursiv auf eine gemountete usb Festplatte:

define Log_Sichern_at at *02:00:00 {system("cp -a -u -R /opt/fhem/log /media/usb0")}

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

DeeSPe

Zitat von: franky08 am 07 Februar 2017, 08:09:42
Sieh dir mal den Linux Befehl cp an, kannst du als cron Job laufen lassen oder aus fhem, über ein at z.B.

Beispiel, ich kopiere hiermit jede Nacht das Logverzeichnis rekursiv auf eine gemountete usb Festplatte:

define Log_Sichern_at at *02:00:00 {system("cp -a -u -R /opt/fhem/log /media/usb0")}

VG
Frank

Bei mir läuft 1x am Tag ein Sync Job (rsync per cron), der mein komplettes fhem Verzeichnis auf mein über NFS gemountetes NAS synchronisiert.
Ein weiterer Sync Job macht das Selbe mit dem /etc Verzeichnis und auch vom mysql Datenbankverzeichnis.
Gegen einen FHEM Komplettausstieg sollte man damit gewappnet sein.

Gruß
Dan

P.S. Skripte + cron Kommandos könnte ich bei Bedarf heute Abend liefern.
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Marlen

Hi,

hört sich interessant an,
wäre schön wenn du dein
Skripte + cron Kommandos
zur Verfügung stellen würdest, dann hab ich schon mal eine Basis!

LG
  Marlen

r00t2

Und während Du auf die Infos wartest, kannst Du Dich noch etwas in cron einlesen - nicht, dass es wieder Probleme gibt, weil Du irgendetwas einfach blind abtippst :)

Lies mal hier: https://wiki.ubuntuusers.de/Cron/

Gruß
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

marvin78

Einlesen ist eine gute Maßnahme. Gibt es für google eigentlich eine Doku? ;)

Mitch

Zitat von: Marlen am 07 Februar 2017, 11:43:16
wäre schön wenn du dein
Skripte + cron Kommandos
zur Verfügung stellen würdest

und wieder nur copy & paste...dann geht wieder was nicht und das Geschrei ist groß  :o

Diesmal bin ich raus
FHEM im Proxmox Container

Markus M.

Einfache Cloud-Alternative: Dropbox installieren und die komplette FHEM Installation in diesen Ordner legen - Problem gelöst.
Aktuell weder Smarthome noch FHEM vorhanden

r00t2

Wir reden hier von einem Headless-System, das auf einem Raspberry Pi liegt - oder?
Bin mir nicht sicher, ob es das Ganze vereinfachen würde :)
FHEM 6.0 (Raspberry Pi 2 B | Raspberry Pi OS Lite | Perl 5.28.1 | UZB Z-WAVE.Me | Hue Bridge V1 | SIGNALDuino 433 MHz | FritzBox | Kodi | Pioneer AVR | MQTT | Node-RED | Diverse Google Dienste)

DeeSPe

So, hier wie versprochen meine Backup Lösung.

Mein Backup Share vom NAS ist unter "/mnt/fhembackup" bereits gemounted, darauf gehe ich hier nicht weiter ein.

Um meinen kompletten fhem Ordner morgens um 5 Uhr zu synchronisieren habe ich Folgendes in "sudo crontab -e" hinzugefügt.
0 5 * * * rsync -aSD --ignore-errors --force --delete --stats /opt/fhem/ /mnt/fhembackup/opt/fhem/ >/dev/null 2>&1

Für die Synchronisation weiterer Ordner einfach weitere Zeilen anhängen.
z.B. für /etc:
0 6 * * * rsync -aSD --ignore-errors --force --delete --stats /etc/ /mnt/fhembackup/etc/ >/dev/null 2>&1

Für Datenbanken:
0 6 * * * rsync -aSD --ignore-errors --force --delete --stats /var/lib/mysql/ /mnt/fhembackup/var/lib/mysql/ >/dev/null 2>&1

Wie Du siehst ist das für jeden Ordner nur eine Befehlszeile und somit ist gar kein Skript notwendig.

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

roedert

Schaut euch mal rsnapshot an .... basiert auf rsync, kann aber komfortabel eine schöne Historie beibehalten.
zB die letzten 10 Tage, die letzen 4 Wochen und die letzten 12 Monate.

Auf dem Pi auch schnell mittels apt-get zu installieren.

DeeSPe

Zitat von: roedert am 07 Februar 2017, 23:46:43
Schaut euch mal rsnapshot an .... basiert auf rsync, kann aber komfortabel eine schöne Historie beibehalten.
zB die letzten 10 Tage, die letzen 4 Wochen und die letzten 12 Monate.

Auf dem Pi auch schnell mittels apt-get zu installieren.

Danke für den Tipp!
Hab's eben mal eingerichtet und gefällt mir sehr gut.
Mit Historie ist zwar nicht dringend nötig aber auch schön. 8)

Gruß
Dan
MAINTAINER: 22_HOMEMODE, 98_Hyperion, 98_FileLogConvert, 98_serviced

Als kleine Unterstützung für meine Programmierungen könnt ihr mir gerne einen Kaffee spendieren: https://buymeacoff.ee/DeeSPe

Marlen

Guten Morgen,

hab das jetzt mit cp gemacht, läuft super!

Lass mir einmal das log-Verzeichnis kopieren und dann noch die fhem.cfg mit dem Datum angehängt!

Danke & Gruß,
   Marlen

hobu

#13
Aus der Praxis - für die Praxis:
Ein profanes rsync, 'cp -a' auf ein NFS, Dropbox odersonstwohin ist im Fall der Fälle nicht ausreichend, wenn ein erkannter Fehler länger zurückliegt und man keine Historie hat.

Empfehlung ist somit, kein rsync ohne rsnapshot. Ooer alternativ das normale Archiv-Backup nehmen (FHEM-..tar.gz) und das File dann über's Netz (oder in Dropbox) kopieren. Letzteres dauer länger, braucht mehr Platz, aber es ist sichergestellt (wie bei der komplexeren aber besseren Lösung mit rsnapshot) dass man auch auf alte Configs zurückgreifen kann.

Dan, zu Deinen cron-Zeilen:
Ich würd' alle Backup-Kommandos in ein einzelnes Shellskript packen. Dann gibt's uU auch keine Resourcenkonflikte: Du startest 2 Jobs gleichzeitig um 06:00. Deconfliction wär sinnvoll.
Desweiteren: DB-Dateien von MySQL kopieren ohne die DB runtergefahren zu haben? Hm...  ???
Je nach Grösse der DB wäre ein Export via mysqldump sinnvoller. Der erhält auch die DB-Konsistenz.

Edit:
Btw.: '-a' bei rsync beinhaltet auch '-D'

Raspberry Pi (Model B)
HM-CFG-USB, HM-CC-RT-DN, HM-LC-SW1-FM, HM-Dis-WM55, HM-FK-SCO