FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Marlen am 07 Februar 2017, 08:06:40

Titel: FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: Marlen am 07 Februar 2017, 08:06:40
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag 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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: DeeSPe am 07 Februar 2017, 11:16:36
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.
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: Marlen am 07 Februar 2017, 11:43:16
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: r00t2 am 07 Februar 2017, 11:46:53
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ß
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: marvin78 am 07 Februar 2017, 11:48:33
Einlesen ist eine gute Maßnahme. Gibt es für google eigentlich eine Doku? ;)
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: Mitch am 07 Februar 2017, 12:05:16
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: Markus M. am 07 Februar 2017, 14:51:51
Einfache Cloud-Alternative: Dropbox installieren und die komplette FHEM Installation in diesen Ordner legen - Problem gelöst.
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: r00t2 am 07 Februar 2017, 14:56:33
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 :)
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: DeeSPe am 07 Februar 2017, 22:51:02
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag 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.
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: DeeSPe am 08 Februar 2017, 02:13:02
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: Marlen am 08 Februar 2017, 09:34:39
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
Titel: Antw:FHEM.cfg auf gemountetes Laufwerk automatisch kopieren
Beitrag von: hobu am 08 Februar 2017, 22:33:23
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'