NEWS
Backitup GoogleDrive Sicherungspfad falsch
-
@ahtos
Wenn du dieses SSV nicht eingetragen hast, ist es wirklich komisch. Der Pfad wird zwar im Code noch einmal aufgearbeitet, aber da wird nur geschaut, ob alle / richtig sitzen.
Ich prüfe das mal -
@simatec
Ich habe jetzt eine temporäre Lösung gefunden:- Adapter löschen
- Zugriffsrechte im Google Konto entfernen
- Alle Ordner, die vom Adapter in Google Drive angelegt wurden löschen
- Adapter installieren
So ist es jedenfalls möglich, das er wieder den Standardordner benutzt. Trage ich allerdings den Pfad /Sonstiges/Sicherungen/iobroker/backupDir ein, speichert er es in /Sonstiges/Sonstiges/Sicherungen/iobroker/backupDir ab.
Aus irgendeinem Grund kommt er mit dem Ordner /Sonstiges nicht klar..... -
@ahtos
Ich werde da mal ein paar debugs reinbauen und testen -
Ist das mittlerweile eigentlich gelöst?
Ich habe aktuell das gleiche Problem..... Er sichert in einem eher zufälligen Pfad und ich schaffe es nicht den Pfad umzustellen....
Werde jetzt mal die Tipps oben probieren, aber es wäre halt toll, wenn es einfach gehen würde
-
Das ist zwar schon älter hier, aber scheinbar wurde das Problem noch nicht final gelöst?
Ich habe jedenfalls gerade das gleiche Phänomen:
eingetragen im Adapter ist "/Backups/iobroker"...bis zum 28.06.22 wurde auch alles korrekt abgelegt.
Die neueren Backups tauchen im google-Drive aber unter "/Tasker/data/backups/iobroker" auf.Gut möglich, dass ich seit dem 27.08.22 die Backups von der Tasker-App (Android) eingerichtet habe...
was ich definitiv ausschließen kann ist, dass ich in den Backitup-Adapter-Einstellungen oder generell im iobroker irgendwas herumgefummelt habe....der lief seit mehreren Monaten komplett unangetastet.Scheint also, als würde eher Google da irgendwas durcheinander werfen?
-
@foodfighter Kann ich nicht bestätigen ... Google sichert genau in dem Pfad, der angegeben ist.
Hier die Pfadangabe mal zum Vergleichen
Backitup:
/backups/produktiv/minimal
GoogleDrive:
-
Hier meine BackItUp Einstellungen:
system.adapter.backitup.0.json
Hier die Uploads im Google-Drive bis zum 28.06.2022 - 04:00Uhr (alles korrekt):
Und hier der Pfad, in dem es seit 29.06.2022 - 04:00Uhr alles landet.
Die letzten 7 Backups werden aufgehoben - alles ältere gelöscht...genau wie eingestellt....halt nur im falschen Pfad.
Meinen iobroker habe ich gestern mehr oder minder komplett neu aufgesetzt (Upgrade auf den v7.0.1. Docker-Container)
Also Backup -> neuen Container erstellt -> alten gelöscht -> Backup zurück gespielt.
Das verhalten bzw. der Pfad im Google-Drive bleibt beim nächtlichen Backup weiterhin falsch.Was ich definitiv sagen kann ist, dass ich im Juni und Juli 100%ig keinen Handschlag im iobroker getan hab. Weder ein Adapter-Update, noch sonst irgendwas, das war alles unangetastet und lief einfach vor sich hin.
Was ich ebenfalls bestätigen kann ist, dass ich am 28.06.2022 um 22:36Uhr das erste Tasker-Backup erstellt habe.
Also habe ich am 28.06.2022 auf meinem Android Smartphone in der Tasker-App die Backup-Funktion für Google Drive aktiviert.....und dementsprechend auch der App Zugriff aufs gDrive gewährt.Seitdem landen meine iobroker-BackItUp-Backups im falschen Google-Drive Pfad...warum auch immer.
Vielleicht hilft das bei der Fehlersuche?Ich glaube gar nicht mal, dass es am BackItUp-Adapter per se liegt....bei mir ist es ja ziemlich eindeutig, dass Google da irgendwas "verwirrt", seitdem ich das Tasker-Backup aktiviert bzw. dieser App ebenfalls den Zugriff aufs Google-Drive gewährt habe.
M.E. dürfte das eine aber mit dem anderen überhaupt nichts zu tun haben. (hat es aber scheinbar)In der Tasker-App kann man übrigens keinen Pfad einstellen, hier gibt's nur die Möglichkeit auszuwählen, ob ein Backup gemacht werden soll oder nicht. ... das nur zur Info - hat hier nichts verloren.
Da hier schon berichtet wurde, dass andere User ähnliches Verhalten hatten und sich dieses wohl änderte, nachdem sie die Zugriffsrechte im Google-Drive gelöscht und wieder neu angelegt haben, sehe ich hier Parallelen
Wenn ich mir irgendwelchen Logs dienen kann, lass es mich wissen - bei mir lässt sich das Verhalten reproduzieren.
Grüße
MarkusEdit:
Ich habe mal die komplette config angehängt (system.adapter.backitup.0.json) ...inkl. Token.
Den werde ich die kommenden Tage dann mal erneuern -
@foodfighter
Vielleicht hat google etwas bei der Groß- und Kleinschreibung geändert und kommt ins Schlingern.
Du schreibst Backups und google schreibt backups. -
@meister-mopper
Könnte auch ein Hinweis sein...
Wäre aber ein komischer Zufall...bei mir passt das Verhalten definitiv zur Aktivierung des Tasker-Backups bzw. die Google-Freigabe für die App.mich wundert es mehr, dass ich plötzlich in
~root~/Tasker/data/backups/iobroker
lande, obwohl es nach
~root~/Backups/iobroker
soll.
in der Backitup-Einstellung hinterlegt man den Ordner auch mit
/Backups/iobroker
fehlt hier vielleicht einfach der Verweis aufs Root-Verzeichnis?
./Backups/iobroker
bzw. befindet sich der Pointer nach Anmeldung bei Google vielleicht einfach im letzten angesprungenen Verzeichnis und müsste zurück gesetzt werden?
was würde mit
../../Backups/iobroker
in der Backitup-Einstellung passieren?
(Ich möchte es zwecks evtl. dienlicher Logs gerade nicht testen)
-
Ich habe nun mit den Einstellungen im BackItUp-Adapter gespielt und komme zu folgendem Ergebnis:
Ausgangssituation:
Einstellung:/Backups/iobroker
Landet im Google-Drive (falsch) unter
~root~/Tasker/data/backups/iobroker
-.--------------------------------------------------------------
Einstellungsänderung 1:./Backups/iobroker
Landet im Google-Drive (korrekt) unter
~root~/./Backups/iobroker
-.--------------------------------------------------------------
Einstellungsänderung 2:Backups/iobroker
Landet im Google-Drive (wieder falsch) unter
~root~/./Backups/iobroker
-.--------------------------------------------------------------
Einstellungsänderung 3 (quasi wieder die Ausgangssituation):/Backups/iobroker
Landet im Google-Drive (auch wieder falsch) unter
~root~/./Backups/iobroker
-.--------------------------------------------------------------
Versuch 4: Den Ordner "Backups" im Google-Drive-Rootverzeichnis umbenannt in "BackupsAlt", Versuch 3 wiederholt:
Landet im Google-Drive (auch wieder falsch) unter~root~/./Backups/iobroker
-.--------------------------------------------------------------
Einstellungsänderung 5:/backups/iobroker
Landet im Google-Drive (auch wieder falsch) unter
~root~/./Backups/iobroker
-.--------------------------------------------------------------
Einstellungsänderung 6:/BackupsNeu/iobroker
Landet im Google-Drive (prinzipiell richtig) unter
~root~/BackupsNeu/iobroker
-.--------------------------------------------------------------
Versuch 7:
"BackupsNeu" im GoogleDrive zu "Backups" umbenannt
Einstellung 7 (unverändert zu Versuch 6):/BackupsNeu/iobroker
Landet im Google-Drive unter ("BackupsNeu" wird wieder neu erstellt)
~root~/BackupsNeu/iobroker
-.--------------------------------------------------------------
Versuch 8:
"Backups" (ehemals "BackupsNeu") in Google-Drive gelöscht
Einstellungsänderung 8 (quasi Ausgangssituation):/Backups/iobroker
Landet im Google-Drive (wieder falsch) unter
~root~/./Backups/iobroker
(Erwartet hätte ich hier den Pfad ~root~/BackupsNeu/iobroker)
-.--------------------------------------------------------------
Versuch 9:
Die temporären Ordner "BackupsNeu" und "." gelöscht
Einstellungsänderung 9:/0_Backups/iobroker
Landet im Google-Drive (korrekt) unter
~root~/0_Backups/iobroker
-.--------------------------------------------------------------
Dabei bleibe ich nun.
Ich verschiebe einfach alles aus dem alten Ordner ~root~/Backups nach ~root~/0_BackupsDas ist zwar auch nur ein Workaround, aber damit kann ich erstmal leben.
Hier gibt's noch eine interessante Beobachtung:
Der Adapter realisiert scheinbar die alten Backups nicht als solche und löscht sie daher nicht:
Aufheben sollte der Adapter nur die letzten 7 Backups....allerdings bleiben hier die ganzen alten Backups (die ich manuell im Google-Drive vom alten "Backups"-Ordner in diesen "0_Backups" kopiert habe bis zum 22.06. generell erhalten.)M.E. ist hier irgendwas im Busch
Vielleicht ist's einfach vielen noch nicht aufgefallen....oder ist bei mir irgendwas komplett faul? -
@foodfighter sagte in Backitup GoogleDrive Sicherungspfad falsch:
bleiben hier die ganzen alten Backups (die ich manuell im Google-Drive vom alten "Backups"-Ordner in diesen "0_Backups" kopiert habe
Und das ist auch so korrekt da ja nicht der Adapter diese Backups angelegt hat sonder Du.
-
@djmarc75
Prinzipiell nachvollziehbar, allerdings stehe ich doch als Eigentümer in den Dateien auf dem GoogleDrive
Daher sollte der Adapter doch gar nicht auslesen können, was von ihm kommt und was von mir manuell hinzugefügt wurde?!
Speichert sich der Adapter selbst nochmal (lokal) die von ihm upgeloadeten Filenames irgendwo ab für den Vergleich der letzten X Backups?
(Das ist nichts, was mich grundlegend stört....ganz im Gegenteil)
Ändert aber nichts daran, dass (bei mir jedenfalls) irgendwas mit dem Upload-Ziel nicht richtig funktioniert.
Vermutlich liegts wirklich weniger am Adapter selbst als an irgend ner verkorksten Google-Schnittstelle -
@foodfighter sagte in Backitup GoogleDrive Sicherungspfad falsch:
Speichert sich der Adapter selbst nochmal (lokal) die von ihm upgeloadeten Filenames irgendwo ab für den Vergleich der letzten X Backups?
Bin zwar nicht Entwickler aber ich denke schon. Sonst würde das mit der Anzahl der zu behaltenden Sicherungen keinen Sinn machen wenn da "willenlos" Daten mit "ähnlichen" Dateinamen gelöscht würden.
@foodfighter sagte in Backitup GoogleDrive Sicherungspfad falsch:
Vermutlich liegts wirklich weniger am Adapter selbst als an irgend ner verkorksten Google-Schnittstelle
Ich denke eher es liegt am Tasker ! Wie ist denn der Pfad in Tasker eingestellt ?
-
Siehe oben:
In der Tasker-App kann man übrigens keinen Pfad einstellen, hier gibt's nur die Möglichkeit auszuwählen, ob ein Backup gemacht werden soll oder nicht. ... das nur zur Info - hat hier nichts verloren.
Ich habe das Taskerbackup nun testweise komplett deaktiviert, die Freigabe entfernt und den Ordner "Tasker" temporär gesichert und im Google-Drive gelöscht.
-.--------------------------------------------------------------
Versuch 10:
Einstellung im Adapter wieder auf/Backups/iobroker
geändert
Das Backup landet wieder korrekt im Google-Drive bei
~root~/Backups/iobroker
-.--------------------------------------------------------------
Das brachte mich auf folgende Idee:
Versuch 11:
Manuell neuen Ordner "~root~/TEST/backups" in GDrive angelegt
Versuch 10 wiederholt
-> siehe da...nun landet das Backup mit der Einstellung/Backups/iobroker
im GoogleDrive unter
~root~/TEST/backups/iobroker
Und das scheint das ganze Geheimnis zu sein.
Sobald ein Ordner existiert (und vermutlich neuer ist), der einen Unterordner "backups" oder "Backups" enthält, wird das BackItUp-Backup darein geworfen.
Also muss der erste Ordner der Pfadangabe im Adapter eindeutig sein bzw. folgender Teil darf nirgends anders im GDrive als Unterordner existieren:
Versuch 11 könnte ja mal jemand wiederholen und Rückmeldung geben, ob das Verhalten bei ihm identisch ist (natürlich mit dem entsprechendem Unterordner, der bei ihm im Adapter als "Hauptordner" hinterlegt ist)
-
@foodfighter Na dann lag ich da ja nicht ganz falsch
-
FYI
Ich kann das Phänomen mit einer zweiten (komplett neuen) Backitup-Instanz und einem komplett frischen, zweiten Test-Google-Konto reproduzieren.Ich habe den issue bei github mal gemeldet, scheinbar liegt's wohl an Google (wie erwartet)
https://github.com/simatec/ioBroker.backitup/issues/742 -
@foodfighter Lege mal nur den Pfad in Backitup fest.
Beim ersten Backup sollte der Pfad dann automatisch in GDrive angelegt werden. -
@simatec
Das ist korrekt und funktioniert auch inkl. Unterordner.
(Siehe Versuch 6, 7 und 9)Das Problem bleibt aber weiterhin, dass es nirgends anders im kompletten GDrive einen Unterordner geben darf, der den gleichen Namen trägt, wie der erste Ordner in der Pfadangabe des Adapters.
Ich habe es nun mit sauberen Instanzen und einem frischen Google-Konto reproduziert.
Default ist hier "/backupDir" eingetragen.
Das der Name per se macht aber überhaupt keinen Unterschied.
Wenn ich nun im Google-Konto einen Ordner "TESTmichMal/backupDir/" anlege, landen die Backups dort zukünftig, nicht mehr unter "/backupDir", obwohl diese Einstellung im Adapter unangetastet bleibt)Weiterhin habe ich mal versucht das Phänomen mit einer anderen App, bei der man den Pfad festlegen kann, zu reproduzieren:
(Android - Autosync for Google Drive)Folgendes getan:
- einen Sync-Ordner auf dem Android-gerät angelegt
- den Sync-Ordner "~root~/DriveSyncFiles" im GDrive angelegt
- Sync mit einer Datei gestartet
- -> diese landet korrekt unter
~root~/DriveSyncFiles
- einen neuen Ordner im GDrive erstellt, der einen gleichnamigen Unterordner zum Vorgänger enthält:
~root~/TEST000/DriveSyncFiles
- eine neue Datei über die App synchronisiert
- diese landet wieder korrekt unter
~root~/DriveSyncFiles
NICHT unter
~root~/TEST000/DriveSyncFiles
und genau hierbei unterscheidet sich das Verhalten dieser App und des BackItUp-Adapters.
...das ist natürlich wenig aussagekräftig, da ich weder weiß wie die "Autosync for Google Drive"-App ihren Upload zu GoogleDrive ausführt, noch habe ich den Quelltext des Backitup-Adapters studiert
...was ich damit aber aufzeigen möchte ist, dass es scheinbar anders geht...bzw. andere Applikationen dieses Phänomen nicht hervorrufen (und es damit wohl nicht ausschließlich an Google liegen kann).Ich meine das auch gar nicht bös...ICH komme auch mit dem Workaround klar einen eindeutigen Ordnerpfad für das iobroker-Backup zu vergeben, der nirgends anders in einer Unterstruktur meines Google Drives auftaucht...langfristig ist man als Entwickler aber doch m.A.n. daran interessiert solche (wenn auch maginalen) Fehlerchen auszumerzen.
-
@foodfighter Wie gesagt, ist hier eindeutig ein Thema der Gdrive API
Bitte dort ein Issue erstellen ...