FHEM Forum

FHEM => Sonstiges => Thema gestartet von: Rockinghorse am 16 Januar 2016, 21:54:20

Titel: Backup FHEM nach Google Drive
Beitrag von: Rockinghorse am 16 Januar 2016, 21:54:20
Hallo zusammen,
Da ich mich die letzten Tage etwas länger damit rumgeschlagen habe um mein FHEM Backup in einer externen Cloud zu sichern, dachte ich
vielleicht kann man anderen die dies vorhaben mit einer kleinen Anleitung etwas Zeit sparen:

Mein Grundgedanke war zum einen das ich nur für die Backups keine OwnCloud aufsetzen wollte und zudem meine Backups "räumlich getrennt" vom System haben.

GoogleDrive ist der Einzige Cloud Dienst den ich finden konnte für den es einen ARM kompatiblen client gibt: Grive2
https://github.com/vitalif/grive2 (https://github.com/vitalif/grive2)
Das Repository enthält alle Sourcen zum Download und eine gute readme. Hier die Zusammenfassung:

3rd Party libs installieren
sudo apt-get install git cmake build-essential libgcrypt11-dev libyajl-dev \
    libboost-all-dev libcurl4-openssl-dev libexpat1-dev libcppunit-dev binutils-dev


Im Grive Download Ordner Grive2 erstellen
mkdir build
cd build
cmake ..
make -j4
sudo make install


Dann im Home Verzeichniss einen Ordner erstellen der mit GoogleDrive synchronisiert werden soll:


mkdir GoogleDrive
cd GoogleDrive


Nun muss das GoogleKonto authentifiziert werden mit einmaliger Synchronisierung:

grive -a


Zukünftige Synchronisierungen kann man danach über

grive

durchführen 

Ich habe die grive binaries in /opt/fhem/user/grive kopiert, damit diese beim Backup auch gesichert werden.

Damit die Synchronisierung des FHEM backup Ordners regelmäßig z.B. wöchentlich durchläuft kann man einen Cronjob einrichten. Es würde vermutlich auch über fhem "at" gehen aber man müsste als FHEM user einmal grive authentifizieren damit dies geht.

# crontabelle editieren
crontab -e

Jeden Sonntag um 04:00 die fhem backup files in GoogleDrive verschieben und synchronisieren

# Time def: minute hour dayOfMonth month dayOfWeek command1 && command 2  ...
0 4 * * 0 mv /opt/fhem/backup/* ~/GoogleDrive/ &&  cd ~/GoogleDrive && /opt/fhem/user/grive


Danach  in Fhem pro Woche (hier sonntags um 3:00) ein Backup machen und es wird durch den chronjob eine Stunde Später synchronisiert.


define BackupFHEM at *03:00:00 {  if($wday == 0) { fhem("backup") }  }



Viele Grüße

Rockinghorse
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: betateilchen am 16 Januar 2016, 22:26:00
Danke für die Anleitung.

Zitat von: Rockinghorse am 16 Januar 2016, 21:54:20
GoogleDrive ist der Einzige Cloud Dienst den ich finden konnte für den es einen ARM kompatiblen client gibt: Grive2

Mir fallen da spontan noch andere Dienste ein:

Strato HiDrive bietet sogar rsync als Zugriffsmöglichkeit, ausserdem lässt sich der Cloud Speicher alternativ als Netzlaufwerk einbinden. Das erleichtert solche backup-tasks erheblich :)

Microsoft OneDrive läßt sich per webdav einbinden.
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Rockinghorse am 17 Januar 2016, 07:53:43
Hi,
danke für den Hinweis. Ich hatte bei spider oak, tresorit und dropbox probiert aber nichts gefunden. Bei Google dann vermutlich die falschen Suchbegriffe.
Gruß,
Rockinghorse
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: HenryD am 29 Mai 2016, 21:57:46
Hallo Rockinghorse,
Mache ich was falsch oder fehlt in der Anleitung noch was?
Wenn der Befehl cmake . . aufgerufen wird, bekomme ich die Meldung, das die CMakeLists.txt-Datei fehlt.
Gruß Henry
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Wernieman am 30 Mai 2016, 08:58:31
Bist Du im richtigen Ordner?
ZitatIm Grive Download Ordner Grive2 erstellen
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Tungsten am 18 April 2017, 12:44:59
Hallo,

wo genau liegt der Folder?
Im Grive Download Ordner Grive2 erstellen

Außerdem wird laut Beispiel kein Ordner Grive2 sondern build erstellt.

Übersehe ich etwas oder passt da etwas nicht im Beispiel?

Danke
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Tungsten am 18 April 2017, 20:22:12
ok, deine Anleitung ist nicht vollständig kopiert worden. Hier die Originale: http://yourcmc.ru/wiki/Grive2
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: QTreiber am 26 August 2018, 01:35:42
Ich habe gestern ein automatisches Backup nach google Drive per rclone eingerichtet. Nachfolgend eine kurze Beschreibung:

Installation rclone:
wget https://downloads.rclone.org/rclone-current-linux-arm.zip
unzip rclone-current-linux-arm.zip
sudo cp rclone-v1.42-linux-arm/rclone /usr/local/bin/
rclone config


Bei der Konfiguration müssen keine IDs, etc. angegeben werden.


Nach der Installation von rclone habe ich lediglich zwei "at" in FHEM eingerichtet:

erstellen des Backups (täglich um 3:31):
define autoBackup at *3:31:00 { fhem("backup") }

Upload des erstellten Backups auf googleDrive (täglich um 3:33):
define autoBackup at *3:33:00 { system("rclone copyto /opt/fhem/backup \"googleBackup:Pfad mit Schrägstrichen/FHEM-autoBackup\"") }

Für die korrekte Funktion in FHEM ist es noch notwendig die config-Datei ins Verzeichnis /opt/fhem zu kopieren (Dateiname: .rclone.conf), zusätzlich sind auch die Berechtigungen anzupassen

der Vorteil dieser Variante ist die Einfachheit und der geringe Speicherplatzbedarf von rclone ggü. den oben erwähnten googleDrive Dateien. Nähere Info unter:
https://www.hackster.io/uladzislau-bayouski/rclone-the-cloud-connected-048422 (https://www.hackster.io/uladzislau-bayouski/rclone-the-cloud-connected-048422)
https://rclone.org/ (https://rclone.org/)
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Keichi am 12 Juni 2020, 17:08:24
Zitat von: QTreiber am 26 August 2018, 01:35:42
Ich habe gestern ein automatisches Backup nach google Drive per rclone eingerichtet. Nachfolgend eine kurze Beschreibung:

Installation rclone:
wget https://downloads.rclone.org/rclone-current-linux-arm.zip
unzip rclone-current-linux-arm.zip
sudo cp rclone-v1.42-linux-arm/rclone /usr/local/bin/
rclone config


Bei der Konfiguration müssen keine IDs, etc. angegeben werden.


Nach der Installation von rclone habe ich lediglich zwei "at" in FHEM eingerichtet:

erstellen des Backups (täglich um 3:31):
define autoBackup at *3:31:00 { fhem("backup") }

Upload des erstellten Backups auf googleDrive (täglich um 3:33):
define autoBackup at *3:33:00 { system("rclone copyto /opt/fhem/backup \"googleBackup:Pfad mit Schrägstrichen/FHEM-autoBackup\"") }

Für die korrekte Funktion in FHEM ist es noch notwendig die config-Datei ins Verzeichnis /opt/fhem zu kopieren (Dateiname: .rclone.conf), zusätzlich sind auch die Berechtigungen anzupassen

der Vorteil dieser Variante ist die Einfachheit und der geringe Speicherplatzbedarf von rclone ggü. den oben erwähnten googleDrive Dateien. Nähere Info unter:
https://www.hackster.io/uladzislau-bayouski/rclone-the-cloud-connected-048422 (https://www.hackster.io/uladzislau-bayouski/rclone-the-cloud-connected-048422)
https://rclone.org/ (https://rclone.org/)

Ich weiß das dingen hier is schon Asbach... Aber ich wollte das Backup auch über Drive lösen und das mit rclone schien mir die beste möglichkeit..

Nur hänge ich gerade an dem Problem das nen

{ system("rclone copyto /opt/fhem/backup \"drive:fhem_backup\"") }[\code]

dazu führt das mir das gesamte fhem hängen bleibt und ich es über putty neu starten muss.. Hat da jemand ne Idee was an dem regexp falsch ist? Weil ohne \"\" geht's genau so wenig und fhem friert mir auch ein.. Dummerweise habe ich aber auch absolut nirgends Log einträge von rclone.. Ich hab nur über top gesehen das es ausgeführt wird, aber habe keine ahnung was es da macht..
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: MadMax-FHEM am 12 Juni 2020, 17:37:54
Ein Aufruf mit system BLOCKIERT solange bis fertig, ganz einfach...

D.h. entweder anders aufrufen oder ein & ans Ende packen damit es eben nicht blockiert...

EDIT: siehe z.B. http://heinz-otto.blogspot.com/2018/02/in-fhem-externe-programme-aufrufen.html

Gruß, Joachim
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Otto123 am 12 Juni 2020, 17:52:44
einfach unnötige Zeichen "wegstreichen" ;)
{ system("rclone copyto /opt/fhem/backup \"drive:fhem_backup\"") }
-> sollte so gehen
"rclone copyto /opt/fhem/backup "drive:fhem_backup""
Quelle https://fhem.de/commandref_DE.html#command
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Keichi am 12 Juni 2020, 19:28:07
Zitat von: Otto123 am 12 Juni 2020, 17:52:44
einfach unnötige Zeichen "wegstreichen" ;)
{ system("rclone copyto /opt/fhem/backup \"drive:fhem_backup\"") }
-> sollte so gehen
"rclone copyto /opt/fhem/backup "drive:fhem_backup""
Quelle https://fhem.de/commandref_DE.html#command

Jupp Danke,
{system("rclone copyto /opt/fhem/backup/ drive:fhem_backup")}
wars dann schlussendlich damit er das Backup anwirft und auch auf Drive hochlädt.
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: MadMax-FHEM am 12 Juni 2020, 19:35:03
Trotzdem noch mal der Hinweis: SO blockiert fhem aber bis fertig kopiert ist!

Gruß, Joachim
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: betateilchen am 12 Juni 2020, 20:02:16
Hat eigentlich mal jemand folgendes probiert?

define autoBackup at *3:33:00 "rclone copyto /opt/fhem/backup/ drive:fhem_backup"

Das wäre auf jeden Fall nicht blockierend. Falls das nicht funktioniert, würde ich das eigentliche Backup in ein Shell-Skript "myShellScript.sh" einpacken und im at das Shell-Skript aufrufen:

define autoBackup at *3:33:00 "myShellScript.sh"
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Keichi am 12 Juni 2020, 20:15:13
Ja, das hatte ich sogar probiert... Allerdings ist dann absolut nichts passiert und ich habe auch kein Backup auf drive gesehen gehabt, deswegen bin ich zurück auf die Version mit System.  Und extra nen Shell Script anlegen nur für einen einzigen Befehl is dann doch etwas zuviel des guten.

Zitat von: betateilchen am 12 Juni 2020, 20:02:16
Hat eigentlich mal jemand folgendes probiert?

define autoBackup at *3:33:00 "rclone copyto /opt/fhem/backup/ drive:fhem_backup"

Das wäre auf jeden Fall nicht blockierend. Falls das nicht funktioniert, würde ich das eigentliche Backup in ein Shell-Skript "myShellScript.sh" einpacken und im at das Shell-Skript aufrufen:

define autoBackup at *3:33:00 "myShellScript.sh"
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: MadMax-FHEM am 12 Juni 2020, 20:16:21
Zitat von: Keichi am 12 Juni 2020, 20:15:13
Script anlegen nur für einen einzigen Befehl is dann doch etwas zuviel des guten.

Aber dann nicht "weinen", wenn fhem mal stehen bleibt während des Backups... ;)

Gruß, Joachim
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: betateilchen am 12 Juni 2020, 20:19:21
Zitat von: Keichi am 12 Juni 2020, 20:15:13
Und extra nen Shell Script anlegen nur für einen einzigen Befehl is dann doch etwas zuviel des guten.

Zu diesem Unfug fällt mir nur ein: "Denn sie wissen nicht, was sie tun..."
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: MadMax-FHEM am 12 Juni 2020, 20:22:28
Zitat von: betateilchen am 12 Juni 2020, 20:19:21
Zu diesem Unfug fällt mir nur ein: "Denn sie wissen nicht, was sie tun..."

Warum, er tut es doch wissentlich! ;)

EDIT: um nicht zu sagen vorsätzlich ;)

EDIT: aber wie lange kann so ein Backup schon dauern... Ist kein Beinbruch, wenn 5min lang kein Licht angeht ;)

Gruß, Joachim
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Keichi am 12 Juni 2020, 20:23:32
Zitat von: MadMax-FHEM am 12 Juni 2020, 20:16:21
Aber dann nicht "weinen", wenn fhem mal stehen bleibt während des Backups... ;)

Gruß, Joachim

Ist nicht genau DAS die Aufgabe vom Watchdog? ;)

Ich seh gerade.. Der Watchdog bei FHEM erkennt sowas gar nicht.... Ich komm von RaspberryMatic da bin ich es gewöhnt das der Watchdog auch einschreitet wenn das System hängt.

Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: amenomade am 12 Juni 2020, 20:27:06
Wenn Du ein "fhem" Watchdog meinst, nein. Wenn fhem steht, steht auch das Watchdog.

Wenn du ein System-Watchdog meinst, dann weiss ich nicht, was Du "watchen" würdest. Aber wenn schon auf System-Ebene, dann einfach den "rclone" Befehl direkt per cron-job ausführen!
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Keichi am 12 Juni 2020, 20:29:53
Zitat von: amenomade am 12 Juni 2020, 20:27:06
Wenn Du ein "fhem" Watchdog meinst, nein. Wenn fhem steht, steht auch das Watchdog.

Wenn du ein System-Watchdog meinst, dann weiss ich nicht, was Du "watchen" würdest. Aber wenn schon auf System-Ebene, dann einfach den "rclone" Befehl direkt per cron-job ausführen!

Mäh.. Scheisse stimmt.. Da ich eh keine Outputs bekomme, macht nen Cron da sogar deutlich mehr sinn...
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: betateilchen am 12 Juni 2020, 20:33:00
Zitat von: Keichi am 12 Juni 2020, 20:29:53
Da ich eh keine Outputs bekomme,

Der nächste Unfug von jemandem, der nicht weiß, was er tut.

Wenn Du den oben von mir vorgeschlagenen Weg wählst, bekommst Du auch Output ins FHEM Logfile, da in diesem Fall STDIN/STDOUT entsprechend umgeleitet werden.
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: MadMax-FHEM am 12 Juni 2020, 20:38:48
Und was soll der Watchdog tun!?

Das Backup abbrechen!?

Und zwar vermutlich: JEDES MAL... ;)

Dann kannst du es auch gleich sein lassen...

EDIT: is bissi wie "flogging a dead horse"... langsam...

Gruß, Joachim
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Wernieman am 12 Juni 2020, 20:48:20
Zu einem automatischen Backup gehlrt auch eine fehlerbehandlung ... was Du aktuell eben nicht tust. Insofern wäre ein cronjob mit einem echten Script zu empfehlen!
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: masterpete23 am 21 Dezember 2022, 12:32:55
Hi,

is dies noch möglich oder mittlerweile geblockt?
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: Otto123 am 21 Dezember 2022, 15:28:03
was meinst Du mit geblockt?
fhem -> backup?
googledrive -> EU wegen Server in US?
grive2 -> weil Vitaliy Russe ist?
;D
bei den besprochenen Tools grive2 und rclone sehe ich aktuelle Versionen auf den Webseiten, Einträge von letzten Monat - es scheint mir alles gut...
Ich habe es allerdings nicht am Laufen, mache backup auf die NAS.
Titel: Antw:Backup FHEM nach Google Drive
Beitrag von: masterpete23 am 21 Dezember 2022, 21:49:36
Ganze Sätze würden helfen - da hast du Recht.
Ich weiß das Google letztens etwas mit 3rd party apps umgestellt hatte.

Ich suche eigentlich ne Lösung für nen guten Austausch zwischen meiner QNAP und google drive  - dann wäre es egal wohin ich backuppen würde.
Ich denke, da muss ich mir mal mehr Gedanken machen.