Hallo,
ich habe da eine Idee, leider fehlt mir da aber der Ansatz das in Linux umzusetzen.
Plan:
Ich würde gerne täglich um 2 Uhr morgens einmal die gesammte Config des FHEM als eigentlich /opt/fhem packen und wegsichern in eine Cloud.
Dabei sollten die alten Backups nicht überschrieben werden, sondern täglich im Format "yyyymmdd-bemerkung" gespeichert werden.
Zur Verfügung stehen Hidrive, Googledrive, iCloud.
Die Configdaten der Speicher würde ich in einer Datei übergeben wollen.
Ich weiß nicht, ob es soetwas schon gibt, habe zumindest nichts gefunden. Des Weiteren wäre natürlich auch wichtig und interessant, wie ich das Verzeichnis nach einem neuen Aufsetzen des Raspi wiederherstellen kann.
würde mich über Anregungen freuen
Gruß Marc
Zuerst, solltest Du überlegen, was genau Du sichern willst, jeden Tag das komplette /opt/fhem macht nicht sonderlich viel Sinn.
Die Konfiguration steckt entweder in einer Konfigurationsdatei fhem.cfg (ggf. noch einige includes) oder einer Konfigurationsdatenbank.
Die Logfiles stehen in /opt/fhem/log oder in einer Logdatenbank.
Die gplot-Dateien stehen in /opt/fhem/www/gplot (falls Du selbst welche angelegt/geändert hast)
Ggf hast Du noch eine /opt/fhem/FHEM/99_myUtils.pm mit eigenen Unterprogrammen
Alles andere ist doch fhem Standard, den Du jederzeit neu aufsetzen kannst. Dann musst Du nur die o.g. gesicherten Dateien an ihre ursprünglichen Plätze zurückkopieren und alles sollte laufen wie vorher.
Bei mir läuft so ein Job jede Nacht um 1, allerdings nicht auf einen Cloud-Anbieter, sondern auf einen eigenen Server. Aber bei einer Cloudanbindung sollte das nicht anders funktionieren. Ich weiss, z.B. dass Dropbox sowas unterstützt, indem man sich dort einen API Key holt, den man einfach in ein Shell-Skript mit einbaut.
Da hast du recht, theoretisch bräuchten nur die sich ändernden Dateien gesichert werden.
ob ich jetzt einen eigenen Server anspreche oder einen Clouddienst, dürfte ja nur von der Art der Übertragung und der Kennwortabfrage abhängen. Ich weiß, das z.b. HiDrive rsync unterstützt. Bei den anderen Diensten müsste ich mich mal schlau machen.
Hidrive mit rsync ist simpel, Du kannst Hidrive auch einfach per mount ins Filesystem einhängen und direkt kopieren.
Dropbox läßt sich auch als Laufwerk mounten: http://boghdan.net/how-to-mount-dropbox-on-debian-linux-server-shell/
Ähnlich auch für Google: http://monkeyiq.blogspot.de/2013/07/gdrive-mounting-released.html
Das klingt sehr gut, aber wie müsste ich das Script realisieren ??
wie würde so ein Script aussehen und was müsste ich in die Crontab eintragen ?
Ich kann Dir heute abend mein Skript posten, wenn ich zu Hause bin.
Alternativ kannst Du Dir auch mal die Datei 98_backup.pm in fhem anschauen, da wird im Prinzip ähnliches gemacht, da wird ein gezipptes TAR erstellt, das die Datum/Zeit-Information im Namen trägt.
Zitat von: betateilchen am 18 März 2014, 11:01:08
Ich kann Dir heute abend mein Skript posten, wenn ich zu Hause bin.
Das wäre super, dann kann ich mich da mal einarbeiten (wenn ich zuhause bin)
Und ich dachte der Vorteil von FHEM wäre, das die Daten nicht in "BigData" landen, wäre vielleicht die Überlegung Wert die Daten zu packen und mit einem Passwort zu versehen?
tja - ich würde meine Daten auch nicht in eine Cloud ablegen. Aber es geht ja hier im Thread mehr um das "wie" und nicht um das "wohin".
Ja deshalb mein Einwand mit dem Passwortschutz bzw. mit einer Verschlüsselung der Backupdatei. Zumindest in meinen FHEM Daten tauchen auch durchaus Passwörter auf. z.B. für meine XBMC Steuerung.
Zitat von: strauch am 18 März 2014, 12:24:28
Und ich dachte der Vorteil von FHEM wäre, das die Daten nicht in "BigData" landen, wäre vielleicht die Überlegung Wert die Daten zu packen und mit einem Passwort zu versehen?
Es ist ja eigentlich auch nicht von FHEM aus gesehen, sondern eigentlich nur die Sicherung irgendwelcher Daten von der BS-Ebene ;-)
Zitat von: betateilchen am 18 März 2014, 11:01:08
Ich kann Dir heute abend mein Skript posten, wenn ich zu Hause bin.
Denkst du bitte noch daran ......
und deine watchdog-konfiguration würde mich ebenfalls interessieren.
Danke dir jetzt schon einmal
Marc
*grmpf* vergessen...
Die watchdog-Konfiguration steht schon irgendwo hier im Forum, das andere kann ich frühestens Sonntagabend nachreichen, wenn ich wieder zu Hause bin.
Zitat von: betateilchen am 20 März 2014, 19:45:26
*grmpf* vergessen...
Die watchdog-Konfiguration steht schon irgendwo hier im Forum, das andere kann ich frühestens Sonntagabend nachreichen, wenn ich wieder zu Hause bin.
ich hatte einen Teil der watchdog konfiguration gefunden .... nun kann ich den RPi neu aufsetzen, da er in einer Endlosschleife ist. Glücklicherweise hatte ich noch eine zweite Karte die ein paar Tage älter war. Obwohl ich nur auf das fhem.save File geprüft habe ... aber irgendwas wollte da wohl nicht. Bei dem Befehl $ sudo cat > ....... habe ich auch eine Fehlermeldung vom System bekommen.
Eine Idee, wie ich die Endlosschleife unterbrechen kann ??
Das mit dem Script wäre dennoch cool ;-)
Danke
Marc
die SD-Karte in einem anderen Linuxrechner mounten und die /etc/watchdog.conf bearbeiten
hmmmm,
da es ja auch alles "nur" Text Dateien sind, liesse sich nicht auch ein SVN als Backup Medium cool benutzen? Dort sollten doch nur die Diffs gespeichert werden ...
1 mal im Monat einen Branch und dann 29 Diffs
my 2 cents
Ralf
Zitat von: betateilchen am 20 März 2014, 19:45:26
*grmpf* vergessen...
ich denk noch dran, hoffentlich schaff ich es heute abend ;)
geschafft... hier kommt der gigantische Zweizeiler 8)
backname=`date "+fhem-backup-%Y%m%d-%H%M.tar.gz"`
tar -czvf $backname /opt/fhem /opt/fhem_add /opt/scripts
In der Zeile mit dem tar Befehl wird einfach angegeben, was alles in das tar gepackt werden soll. Das kannst Du natürlich anpassen wie Du möchtest, da kannst Du einzelne Dateien oder Unterverzeichnisse angeben.
Anschließend musst Du die Datei einfach nur noch hinkopieren wo auch immer Du möchtest.
Kleiner Tip:
es gibt nette Backupprogramm wie dirvish, rsnapshot die auf Unix-Dateisystemen mit Hilfe von Symlinks nette kleine Incs bauen. Speziel wegen Backupplatz eine interessante Idee zum ansehen. läuft bei Mir seit c.a. 2 jahren (dirvish)
ja, aber darum ging es hier nicht.
Zitat von: Wernieman am 25 März 2014, 08:31:59
Kleiner Tip:
es gibt nette Backupprogramm wie dirvish, rsnapshot die auf Unix-Dateisystemen mit Hilfe von Symlinks nette kleine Incs bauen. Speziel wegen Backupplatz eine interessante Idee zum ansehen. läuft bei Mir seit c.a. 2 jahren (dirvish)
Hallo Wernieman
kannst eine Beschreibung Posten, wie du das machst?
Mache im Moment sowas ähnliches mit rsync (verwendet symlink NTFS) aber unter Windows und wahrscheinlich muss ich mich als BBb Besitzer doch etwas mehr auf Linux einlassen ;-)
Aber das mit den verschiedenen Ständen hat mit schon viel Ärger/Arbeit erspart, wenn ich erst nach Tagen gemerkt habe das ich wieder was aus versehen geschossen habe.
Gruß und Danke Hannes
Gesendet von Unterwegs mit Tapatalk 4
nur mal so nebenbei: rsync wurde von Linux nach Windows portiert, nicht umgekehrt ;)
Zitat von: betateilchen am 01 April 2014, 18:07:12
nur mal so nebenbei: rsync wurde von Linux nach Windows portiert, nicht umgekehrt ;)
Das weiß ich ;) ist aber trotzdem super,
läuft über irgend eine GNU Bibliothek und einem Verwaltungss VBS Script (wurde mal von Ct zur Verfügung gestellt)
D.h. ist kann es leider nicht 1 zu 1 so in Linux verwenden.
Gruß Hannes
Zitat von: AHA1805 am 01 April 2014, 20:11:17
D.h. ist kann es leider nicht 1 zu 1 so in Linux verwenden.
stimmt, so umständlich brauchst Du es nicht mehr, da rsync in Linux einfach als Befehl zur Verfügung steht.
ALSO ....
1. Du brauchst ein Unix-Dateisystem (z.B. extX, xfs, btrfs), Unix-Netzwerkdateisystem (z.B. nfs), kein Windows (z.B. FAT, NTFS, smb) oder anderen Pseudodateisysteme (z.B. ftp)
2. folgende Doku (für dirvish):
http://wiki.ubuntuusers.de/dirvish (http://wiki.ubuntuusers.de/dirvish)
http://www.dirvish.org/debian.howto.html (http://www.dirvish.org/debian.howto.html)
Ist besser auf die Vorhandenen Dokus zu verweisen, als das "Rad neu zu erfinden" .... helfe Dir gerne bei weiteren Problemen, dazu sollten wir aber einen neuen thread "aufmachen".
Übrigens hat ein Freund von mir dieses auch zu einem Cloud-Dienstanbieter ausgelagert. Zusätzlich am Ziel sogar ein "Krypto-FS" eingesetzt ... aber das ist schon eine superhohe Hürde für einen Linux-Anfänger. Fange lieber mit einer lokalen Backuplösung an ....
Guten Morgen,
erstmal vielen Dank für die ganzen Lösungsansätze.
Momentan ist es nun so gelöst, das ich die Cloud ins FileSystem mounte und einfach mit dem tar-Befehl ein Paket erzeuge das ich dann in die Cloud schiebe.
Ich werde mir aber die Lösung mit der Backup-Software ebenfalls nochmal angucken, vielleicht ergeben sich dadurch andere und einfachere Wege.
gruß
Marc
Kleine Frage:
Welcher Anbieter und wie mountest Du?
Zitat von: Wernieman am 02 April 2014, 09:42:24
Kleine Frage:
Welcher Anbieter und wie mountest Du?
ich habe bei Strato einen Hidrive und habe eine Kombi aus folgenden Anleitungen genommen ;-)
http://www.sbprojects.com/projects/raspberrypi/webdav.php
http://www.forum-raspberrypi.de/Thread-tutorial-strato-hidrive-unter-raspbian-als-virtuelle-festplatte-einbinden
Hallo,
nutzt doch einen eigenen Webspace und installiert darauf Owncloud mit https Verschlüsselung der Verbindung, das Unterstützt Webdav Zugriff und es gibt für jedes Betriebssystem Apps (Android, iOS usw.) bzw für Debian basierente Linux Systeme (Mint, Debian, Ubuntu, Raspbian) das davfs2 Paket
Also mit
aptitude install davfs2
Installieren und dann bei
dpkg-reconfigure davfs2
bei der Frage ob Unpriviligierten Benutzern erlaubt werden soll... JA Auswählen.
Nun kann das Remote Filesystem manuell so gemountet werden:
mount -t davfs https://<server.com>/remote.php/webdav/ /home/cloud/ -o rw,uid=1000,file_mode=0777,dir_mode=0777
Mit folgendem Eintrag in der fstab kann die Cloud beim Starten Automatisch nach /home/cloud eingebunden werden:
https://<server.com>/remote.php/webdav/ /home/cloud davfs user,noauto,file_mode=600,dir_mode=700 0 1
Damit davfs keine Zugangsdaten abfragt muss noch die Datei:
/home/<username>/.davfs2/secrets
mit folgendem Inhalt angelegt werden
https://<server.com>/remote.php/webdav/ <username> <password>
Franz
Ich befürchte, das webdav keine Hardlinks unterstützt und damit sind die von mir genannten Backupprogramme nicht sinnvoll einzusetzen...
Es sei denn, Du baust Dir im webdav-Laufwerk eine verschlüsselte Partition (Datei), welche Du per loopback mountest. Die kann dann ein "Ordnetliches" Dateisystem haben und ist damit dann vollständig (+ Sicherheit) dafür möglich. Bedauelicherweise braucht mann dafür dann doch schon "richtige" Linux-Kenntnisse.
Hallo,
Danke zusammen :-)
Vielleicht mache ich ein Mix.
Lokal auf der sdcard mit symlinks für die Versionen auf die schnelle und via owncloud auf Umwegen zu meinem Windows homeserver welcher dann immer den letzten Stand der Installation hat.
Aber wie Wernieman schon geschrieben hat ist das schon eine große Herausforderung für ein Windowskind ;-).
Gruß Hannes
Gesendet von Unterwegs mit Tapatalk 4
Hallo,
diese Programme arbeiten nicht mit symlinks sondern mit Hardlinks ... aber das jetzt zu erklären ist für einen "nicht-Admin" etwa schwer ....
Kenne ich von Windows
Hardlinks funktionierten bereits vor win7 auf NTFS Basis
Symlinks gehen auch über Laufwerke hinaus und auch auf Netzwerke.
Weiß aber nicht ob das auch so bei Linux ist.
Danke für die Info
Gesendet von Unterwegs mit Tapatalk 4
Zitat von: yogiflop am 02 April 2014, 09:47:59
ich habe bei Strato einen Hidrive und habe eine Kombi aus folgenden Anleitungen genommen ;-)
http://www.sbprojects.com/projects/raspberrypi/webdav.php
http://www.forum-raspberrypi.de/Thread-tutorial-strato-hidrive-unter-raspbian-als-virtuelle-festplatte-einbinden
das geht ja wie in den anleitungen beschrieben recht einfach einen ordner auf dem raspberry pi mit einer cloud zu synchonisieren.
möchte ich aber den ordner /opt/fhem in der cloud haben, funktioniert das nur bedingt. sprich, mounte ich den ordner /opt/fhem mit einer cloud (egal ob box oder hidrive) verschwindet der inhalt des ordners vom raspberry pi und wird so lange in den ordner lost+found verschoben, wie der ordner fhem gemountet ist. mache ich ein umount vom ordner /opt/fhem ist der inhalt des ordner wieder da.
so kann ich nie den inhalt mit einer cloud synchron halten. gibt es da ein lösung das es trotzdem geht?
ich dachte auch schon dran den inhalt des fhem ordners lokal zu speichern und nachdem mount zur cloud alles in die cloud zu schieben. problem ist dann aber, dass der inhalt des gemounteten ordner fhem nicht der selbe ist, wie lost+found. sprich wird aus irgendeinen grund der mount unterbrochen und ich bekomme den nicht wiederhergestellt, ist alles aus lost+found alt.
ich hoffe man versteht meine problematik.