AutoPilot AutoPilot für externe Datenträger

Rene_75

Benutzer
Mitglied seit
20. Jun 2020
Beiträge
10
Punkte für Reaktionen
6
Punkte
53
Hallo Tommes,

erst einmal vielen Dank für den Autopilot. Lässt sich wirklich leicht und gut konfigurieren mit der GUI, tolle Arbeit

Mir ist aber gerade aufgefallen das die externe Platte schon ausgeworfen wird obwohl im Hyper Backup noch "Sicherungsversionen werden gelöscht" ansteht. Dadurch wird leider ein Fehler erzeugt.
Habe dann das "Auswerfen" von Autopilot auf niemals auswerfen geändert und nach Backup wird die LED der DS wieder grün und piept einmal obwohl noch immer "Sicherungsversionen werden gelöscht" ansteht.

Habe ich hier einen konfig Fehler?

Danke
Rene
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Hi!

Aus dem Stegreif heraus kann ich zu diesem Verhalten erstmal nichts sagen. Ich müsste das zunächst bei mir nachstellen und ein paar Tests durchführen. Vermutlich werden die Sicherungsversionen aber erst nach Abschluss der Datensicherung, in einem weiteren Schritt gelöscht. Das würde zumindest das, eigentlich korrekte Verhalten von AutoPilot, erklären. Muss ich mir anschauen.

Tommes
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
@Tommes Ich habe mir das eben einmal bei mir angeschaut. Ich habe aus einem bestehenden Backup eine Version manuell gelöscht und mir dabei die Prozesse angeschaut. In der Tat wird hier nochmals synoimgbkptool aufgerufen wie im Bild zu sehen ist.

1708974664829.png

Die Abbruchbedingung der Schleife im Script für Hyper Backup wartet somit nur darauf, dass das Backup abgeschlossen ist.

Bash:
/var/packages/HyperBackup/target/bin/dsmbackup --backup "188"
pid=$(ps aux | grep -v grep | grep -E "/var/packages/HyperBackup/target/bin/(img_backup|dsmbackup|synoimgbkptool|synolocalbkp|synonetbkp|updatebackup).+-k 188" | awk '{print $2}')
while ps -p $pid > /dev/null
do
    sleep 60
done
exit ${?}

Hier wird für den grep Befehl mit der OR Verknüpfung zwar auch nach synoimgbkptool gesucht aber die Schleife wird ja nach dem das Backup beendet ist verlassen.

Ich denke, wir bräuchten hier im Anschluss an das erfolgreich abgeschlossene Backup eine kurze Wartezeit plus eine Überprüfung, ob der Prozess von synoimgbkptool läuft und somit eine zusätzliche Schleife um zu warten bis der Prozess auch beendet ist.

Aus dem Stegreif in etwa so:
Bash:
/var/packages/HyperBackup/target/bin/dsmbackup --backup "188"
pid=$(ps aux | grep -v grep | grep -E "/var/packages/HyperBackup/target/bin/(img_backup|dsmbackup|synoimgbkptool|synolocalbkp|synonetbkp|updatebackup).+-k 188" | awk '{print $2}')
while ps -p $pid > /dev/null
do
    sleep 60
done

# Zusätzliche Wartezeit bis der Prozess der Bereinigung begonnen hat.
sleep 60

# Zweite Schleife um zu überprüfen ob synoimgbkptool läuft
pid=$(ps aux | grep -v grep | grep -E "/var/packages/HyperBackup/target/bin/synoimgbkptool.+-k 188" | awk '{print $2}')
while ps -p $pid > /dev/null
do
    sleep 60
done

exit ${?}

Falls ich nichts übersehen habe müsste das schnell zu fixen sein bei der Erstellung des Hyper Backup Scirpts.
https://github.com/toafez/AutoPilot/blob/5e6bebad1ceb1b4c51042f3a8717a177570d68cd/ui/main.sh#L935
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Verdammt schnell, du bist! 🤣

Ich komme wohl erst morgen dazu, mir das näher anzuschauen. Zur Zeit befindet sich mein Netzwerk in einer Art Revamp und ist daher nur eingeschränkt nutzbar. Ich habe mir nämlich einen 10 Zoll 9 HE Netzwerkschrank gegönnt und bin grade dabei, alles, inkl. DiskStation und Hardwarefirewall darin zu verstauen. Bin heute aber nicht ganz fertig geworden. Aber das nur am Rande.

Dein Ansatz mit der zusätzlichen Schleife sollte das Problem sicherlich lösen. Klingt jedenfalls logisch und ist für mich absolut nachvollziehbar. Ich teste deinen Vorschlag bei mir und sollte das auch bei mir klappen, steht einem Fix nichts im Wege.

Tommes
 

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich probier meine Idee am besten selbst gleich aus :D

Dir weiterhin frohes Schaffen mit deinem Schrank (y)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Hi!
Ich bekomme aktuell keine verlässlich langen Zeiträume von Hyper Backup zur Verfügung gestellt, um das Verhalten von AutoPilot während des Löschens von Sicherungsversionen vernünftig zu testen. Vielleicht verwendet meine Testumgebung ein zu geringes Datenvolumen, oder mein USB3 Stick ist einfach zu schnell für diesen Test :ROFLMAO:

Nach dem Neustart meiner DS läuft diese zurzeit auch wie ein Sack Nüsse, da im Hintergrund momentan eine Datenträgerbereinigung läuft, die ich ungern ab- bzw. unterbrechen möchte. Aus diesem Grund möchte ich auch mit keinen großen Datenmengen um mich werfen, da es sich hierbei um mein Produktivsystem handelt.

Vielleicht hat @luddi aber bereits ein paar erfolgreiche Tests durchführen können. Eventuell kannst auch du @Rene_75 den Test ggf. selbst durchführen, indem du die von @luddi gepostete Scripterweiterung aus Beitrag #103 in dein bestehenden Script ergänzt. Du müsstest dabei nur die Zahl 188, die @luddi in seinem Script stehen hat, durch deine ID deiner Hyper Backup Aufgabe ersetzen. Du kannst diese ID ganz einfach herausfinden, da diese im Script bereits hinterlegt ist und zwar hier...

#!/bin/bash
# Execute a Hyper Backup task
# Task ID: 188

Ich werde jetzt erstmal weiter an meinem Netzwerkschrank basteln. Sollte ich fertig sein, bevor ich von euch beiden etwas höre, versuche ich weitere Tests durchzuführen.

Tommes
 
  • Like
Reaktionen: dil88

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
@Tommes Bei mir verhält es sich bei meinen Tests aktuell ähnlich wie bei dir. Ich schaffe es nicht die PID vom folgenden Prozess für die Bereinigung abzufangen.
Aktuell bin ich also immer noch mit Debugging und Tests beschäftigt. Ich hoffe doch, dass ich den Knoten lösen kann und melde mich wieder, sobald ich brauchbares Material für euch habe.

Der erste Schuss aus der Hüfte wie hier #103 beschrieben klappt leider nicht zuverlässig.
 
  • Like
Reaktionen: dil88

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Ich glaube nun eine brauchbare Version des Scripts für diesen Fall erstellt zu haben.

Zumindest wird der Backupjob in meinen ersten Tests reibungslos in mehreren aufeinanderfolgenden Ausführungen abgeschlossen.
Hier mal ein Screenshot, indem das Script direkt über die Kommandozeile aufgerufen wird.
Jedoch würde ich gerne weitere Tests in Kombination mit AutoPilot durchführen, um den korrekten Ablauf damit zu bestätigen.

1709048377621.png

@Tommes Sobald ich so weit bin, kann ich dir den Code schicken oder ich erstelle gleich einen PR in deinem Repository.
 
  • Like
Reaktionen: dil88

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Du bist wirklich schwer zu toppen!

Das sieht doch schon ziemlich gut aus. Es könnte evtl. Sinn machen, genau die von dir ausgegebenen Informationen mit ins AutoPilot Protokoll aufzunehmen... und jetzt, wo ich das schreibe kommt mir eine Idee... man könnte in AuotPilot vielleicht eine Statusleiste im unteren Bildrand einbauen, wo in Echtzeit das laufende Protokoll ausgegeben wird. :unsure: ... das müsste ich mir mal zu Gemüte führen.

Nebenbei bemerkt... mein "kleiner" 10 Zoll Netzwerkschrank sowie das ganze drumherum ist nun auch fertig. Vielleicht poste ich noch ein oder zwei Bilder in den Thread Das Synology "Zuhause" ...mal sehen.

Auch spiele ich grade ein wenig mit LogAnalysis rum, da ich letztens eine tolle Funktion zur Aausgabe eines Verzeichnisbaumes gefunden habe. Leider hakt es hier und da noch ein wenig mit der Umsetzung. Von daher @luddi, wie immer... kein Stress. Sobald du fertig bist, kannst du mir deine Ergebnisse gerne als PR einstellen. Wäre wohl das Einfachste.

Und schon mal Danke für deine tatkräftige Unterstützung.

Tommes
 
  • Like
Reaktionen: dil88

bigbud

Benutzer
Mitglied seit
20. Apr 2013
Beiträge
28
Punkte für Reaktionen
2
Punkte
3
Hallo allerseits, habe soeben auch mal das schöne Tool ausprobiert. Seltsamerweise ist das Backup laut Tool erfolgreich fertig, aber im Hyperbackup auf "Failed to run Backup task". Auffällig war auch, dass es viel zu schnell ging. Quasi kurz nach Anstecken kam schon der Signalton und die Platte wurde wieder ausgeworfen. Habs dann auch nochmal ohne Auswerfen getestet, funktioniert leider auch nicht. Was mache ich falsch?



Code:
ExtBackupUSB
#!/bin/bash
# Execute a Hyper Backup task
# Task ID: 5
# Task name: ExtBackupUSB

# Explicit wait time to ensure Disk is online and available for Hyper Backup task
sleep 30

/var/packages/HyperBackup/target/bin/dsmbackup --backup "5"
pid=$(ps aux | grep -v grep | grep -E "/var/packages/HyperBackup/target/bin/(img_backup|dsmbackup|synoimgbkptool|synolocalbkp|synonetbkp|updatebackup).+-k 5" | awk '{print $2}')
while ps -p $pid > /dev/null
do
    sleep 60
done
exit ${?}

1709917895843.png

1709918367357.png
 
Zuletzt bearbeitet:

luddi

Benutzer
Sehr erfahren
Mitglied seit
05. Sep 2012
Beiträge
3.259
Punkte für Reaktionen
601
Punkte
174
Wie ist denn der Status im DSM unter Hyper Backup selbst? Was ist dort für eine Information zu sehen?

Deaktiviere einmal den Schalter damit AutiPilot nicht automatisch startet:
1709918334079.png

Schließe die Festplatte an und warte bis sie unter DSM verfügbar ist.

Öffne Hyper Backup und überprüfe den Status der Aufgabe.

Führe den Befehl direkt auf der Kommandozeile aus und beobachte den Ablauf in Hyper Backup (DSM)
Code:
/var/packages/HyperBackup/target/bin/dsmbackup --backup "5"
 
  • Like
Reaktionen: Tommes

bigbud

Benutzer
Mitglied seit
20. Apr 2013
Beiträge
28
Punkte für Reaktionen
2
Punkte
3
Danke für die schnelle Antwort! Es funktioniert nun seit dem dritten Versuch einwandfrei. Das Einzige, was ich geändert habe, war die Auswerffunktion zu deaktivieren und beim dritten Versuch wieder zu aktivieren. Komisch...
 
  • Like
Reaktionen: Tommes

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Alle guten Dinge sind bekanntlich drei :ROFLMAO:
 
Zuletzt bearbeitet von einem Moderator:
  • Haha
Reaktionen: dil88

Frank_BLN

Benutzer
Mitglied seit
06. Feb 2024
Beiträge
47
Punkte für Reaktionen
17
Punkte
58
Hallo in die Runde,
mein Plan ist es, die App "Autopilot" im Zusammenhang mit "Hyper Backup" für sporadische Backups auf eine SSD vorzunehmen. Die SSD wird über einen der drei freien USB-Ports angeschlossen und soll dadurch (vermittelt durch den "Autopiloten") eine Hyper Backup-Aufgabe auslösen.
Nun habe ich "Autopilot" in seiner aktuellen Version installiert und die Rechte (root und UDEV) entsprechend angepasst. Ein externer Datenträger (Backup-HDD, die dauerhaft an der DS angeschlossen ist) wird vom Autopiloten erkannt - die drei Hyper Backup-Aufgaben leider nicht. (s. Anhänge)
Was mache ich falsch?

Danke für's Lesen.
1710679360486.png
1710679175459.png1710679215771.png
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.665
Punkte für Reaktionen
2.071
Punkte
829
Du machst gar nichts falsch. Das Problem entspricht m.E. dem, was kürzlich schon aufgetaucht ist: Du verwendest Autopilot unter DSM 7.1 mit HyperBackup 3, AutoPilot wurde aber unter Nutzung von DSM 7.2 und HyperBackup 4 entwickelt. Du könntest aktuell entweder Basic-Backup verwenden vom gleichen Autor wie AutoPilot - das funktioniert auch unter DSM 7.1 - oder müsstest auf eine aktuelle(re) DS wechseln.
 

Frank_BLN

Benutzer
Mitglied seit
06. Feb 2024
Beiträge
47
Punkte für Reaktionen
17
Punkte
58
Danke für die Hinweise. Mir war tatsächlich nicht bewusst, dass der Autopilot DSM 7.2 als Systemvoraussetzung hat (auf GitHub erwähnt @Tommes lediglich die Major-Version: "
AutoPilot für externe Datenträger wurde speziell für die Verwendung auf Synology NAS Systemen entwickelt die das Betriebsystem DiskStation Mangager 7 oder höher verwenden.").
Dann sehe ich mir das Basic-Backup auch mal an - der Autopilot sieht jedenfalls schon (auch auf einem DSM 7.1) sehr gut aus!
 
  • Like
Reaktionen: dil88

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
30.665
Punkte für Reaktionen
2.071
Punkte
829
Leider ändert Synology auch bei Minor-Release-Wechseln substantielle Dinge, in diesem Falle den Pfad der HyperBackup-Konfigurationsdatei und möglicherweise auch noch Dinge am Aufbau derselben, was ein Nachhalten in der Freizeit erschwert bis unmöglich macht. Mangels Testumgebung waren Tommes diese Unterschiede nicht bekannt, es hat sich erst vor ein paar Tagen herausgestellt, dass AutoPilot "nur" mit HyperBackup 4 (DSM 7.2) funktioniert.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Tommes und Frank_BLN

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
Danke @dil88 für deine Erklärung. Dem ist eigentlich nichts mehr hinzuzufügen.

@luddi und ich haben uns ausgiebig über das Problem unterhalten und am Ende habe ich entschieden, das es keine Abwärtskompatibilität geben wird. Leider ist die Hyper Backup Version von der DSM Version abhängig. Hätte Synology Hyper Backup 4 auch für DSM 7.1 und oder DSM 7.0 zugänglich gemacht, hätten wird das Problem nicht. Aber Synology meinte mal wieder das Rad neu erfinden zu müssen und ich habe langsam keine Lust mehr, ständig die Scherben zusammenzukehren.

Mir war tatsächlich nicht bewusst, dass der Autopilot DSM 7.2 als Systemvoraussetzung hat
Hat es auch nicht. Autopilot läuft ja auch auf deinem DSM 7.1.1, wie es in deiner Signatur steht. Hyper Backup wird hier nur als Feature angeboten und ist auch erst später in dieses Projekt mit eingeflossen. Hätte ich damals geahnt, das das so ein Heckmeck wird, hätte ich wohl die Finger davon gelassen. Aber es ist leider geil, wenn es denn läuft.

Tommes
 

Frank_BLN

Benutzer
Mitglied seit
06. Feb 2024
Beiträge
47
Punkte für Reaktionen
17
Punkte
58
Hat es auch nicht. Autopilot läuft ja auch auf deinem DSM 7.1.1, wie es in deiner Signatur steht.
Danke für die Aufklärung - da habe ich zu kurz gedacht. Entschuldige, es sollte nicht als Vorwurf verstanden werden. Ich wende mich jetzt der Kombi Autopilot und Basic-Backup zu - Danke für beide Pakete!
 
  • Like
Reaktionen: Tommes


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat