Hyper Backup Hyper Backup Aufgabe per Hardware Copy Taste starten

Mitglied seit
08. Jan 2020
Beiträge
3
Punkte für Reaktionen
1
Punkte
3
Hallo,

ich habe eine vielleicht etwas spezielle Anfrage:

Ist es möglich eine Hyper-Backup Aufgabe per Hardware Copy Taste zu starten?

NAS: DS218+ / DSM6.2.2

Die Datei synousbcopy steuert, was nach dem drücken der Taste geschieht.
Wäre es möglich hier einen Script ablaufen zu lassen, welche eine Aufgabe X im Hyper-Backup startet?
Falls ja, wie müsste der Script dafür aussehen?

Hintergrund ist, dass ich einen Handwerker vom alten Schlag betreue und dieser mit der normalen Windows-Benutzung bereits am Ende seiner zumutbaren IT-Belastbarkeit angekommen ist.
Dennoch muss in diesem Betrieb eine Offline Datensicherung vom NAS realisiert werden.

Deshalb war meine Idee: Er steckt einfach eine von mehreren Festplatten an den vorderen USB Steckplatz, drückt Copy, Hyper-Backup startet und er nimmt diese HDD dann anschließend mit nach Hause.

Vielleicht gibt es für den Fall aber auch eine elegantere, bessere Lösung?

Ein Zugriff auf das GUI der Synology muss dringend vermieden werden und dennoch soll das NAS bestmöglich offline gesichert werden.
 
Mitglied seit
08. Jan 2020
Beiträge
3
Punkte für Reaktionen
1
Punkte
3
Entschuldigung, dass ich das Thema nochmal nach oben pushe.
Aber der Kunde bekommt es trotz mehrfacher Einweisung nicht zuverlässig hin, ein Offline-USB-Backup zu machen.

Gibt es wirklich keine Lösung das für absolute PC-DAUs zu realisieren?
Oder kann man vielleicht auf dem Windows-Desktop ein Script ablegen, welches den Hyper-Backup Auftrag starten lässt?
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Dass diese Funktion über die Hardware-Copy-Taste verfügbar gemacht werden kann, wäre mir neu.

Es gibt ein 3rd-Party-Paket mit dem Namen "autorun". Diesses muss auf der Syno installiert werden. Das Paket prüft beim Einstecken eines Speichermediums, ob dort eine Datei mit dem Namen "autorun" liegt und wenn ja, werden darin hinterlegte Befehle ausgeführt. Eignet sich gut, um automatisiert einen HyperBackup-Job zu starten. Dabei steckt dein Handwerker die USB-Platte an, es dauert kurz, die Syno piept und macht das Backup. Wenn fertig, piept sie erneut und wirft die Platte aus. Während des Vorgangs ist die Status-LED der Syno orange, sodass man ganz klar sehen kann, wann das Backup noch läuft und wann es fertig ist.

Zuerst musst du die Job-ID deines Hyper Backup-Jobs herausfinden:
-per ssh auf der Syno anmelden
-der Befehl more /usr/syno/etc/synobackup.conf listet alle Jobs auf
-wenn du viele Jobs hast, listet der Befehl nicht alle Zeilen auf, du musst immer wieder Enter drücken, um noch mehr aufgelistet zu bekommen
-du hälst die Augen offen nach deinem Job-Namen und merkst dir die dazugehörige Job-ID

Beispiel:
1.png
Mein Backup-Job, den ich automatisiert starten möchte, heißt schlicht "USB". In meiner Ausgabe oben finde ich die Zeile name="USB". Ich gehe ein Stück zurück nach oben, da die Task-ID immer als erstes da steht und da sehe ich [task_23]. Diese Zahl benötige ich, um die autorun-Datei zu erstellen.

In die autorun-Datei auf das USB-Medium muss folgender Inhalt:
JOB-ID ersetzen durch die Zahl, die du oben ermittelt hast
BACKUP-TYP ersetzen durch image für ein versioniertes Datenbackup oder durch local für die Einzelversion-Sicherung
#!/bin/sh
/usr/syno/bin/synobackup --backup JOB-ID --type BACKUP-TYP
sleep 60
while [ "$(/bin/pidof img_backup)" -o "$(/bin/pidof dsmbackup)" -o "$(/bin/pidof synoimgbktool)" -o "$(/bin/pidof synolocalbkp)" -o "$(/bin/pidof synonetbkp)" -o "$(/bin/pidof updatebackup)" ]
do
sleep 60
done
exit 0
Diese Datei kannst du mit einem beliebigen Texteditor erstellen und speichern als "autorun" (OHNE .txt o.Ä.) direkt ins Stammverzeichnis des USB-Mediums.

Mit exit 100 statt exit 0 am Ende des Scripts, soll die HDD automatisch ausgeworfen werden. Dies funktioniert unter DSM 7 jedoch nicht mehr. Außerdem bevorzuge ich die HyperBackup-eigene Option zum Auswerfen des Laufwerks nach Abschluss.

Nun musst du natürlich noch das autorun-Paket auf der DS installieren: GitHub
Unter DSM 7 ist nach der Installation noch folgendes Kommando per ssh als root abzusetzen:
cp /var/packages/autorun/conf/privilege.root /var/packages/autorun/conf/privilege

Weitere Links:

Anleitung (etwas veraltet, nicht alle Schritte sind notwendig)
Thread im Forum
 
Mitglied seit
08. Jan 2020
Beiträge
3
Punkte für Reaktionen
1
Punkte
3
Wow, vielen Dank für diese ausführliche Antwort!
Da wäre ich nie drauf gekommen.

Ich werde das so umsetzen und testen.

Danke nochmal!
 
  • Like
Reaktionen: plang.pl

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Bei mir funktioniert autorun seit der Aktualisierung auf DSM7 nicht mehr. Ich habe bereits versucht einige Schritte aus der Anleitung zu wiederholen, bisher erfolglos. Ist das Passwort für root für den Befel "cp /var/packages/autorun/conf/privilege.root /var/packages/autorun/conf/privilege" das selbe wie das des DS Administrators? (Den Standard admin Account habe ich deaktiviert und einen eigenen angelegt)

Eine andere Ursache fällt mir nicht mehr ein, ich wüsste aber auch nicht, welches Passwort ich alternativ nutzen könnte. Er meldet im SSH Terminal auch nicht, dass das PW falsch ist, somit sollte es wohl stimmen.

Autorun 1.8 ist installiert.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Du musst dich mit deinem angelegten Admin-Account per ssh anmelden. Dann sudo -i eingeben (nun nochmal das Passwort deines Accounts). Dann den Befehl ausführen.
 
  • Like
Reaktionen: Busta2

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Sudo habe ich vorher vorangestellt, aber noch nicht getestet, ob es jetzt funktioniert.


Gibt es eigentlich einen Nachteil, wenn man die HDD über die Option in hyper Backup und nicht über das autorun Skript auswirft? Letzteres funktioniert momentan wohl nicht mehr.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Gibt es eigentlich einen Nachteil
Wenn du die Option in Hyper Backup zum Auswerfen nutzt, kannst du halt nach dem Backup z.B. keine Integritätsprüfung mehr mit dem Script machen lassen.
 
  • Like
Reaktionen: Busta2

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Bei dir klappt die exit 100 Option momentan aber auch nicht, oder? Ich würde das weiter so machen, wenn es funktionieren würde, da scheint aber etwas nicht zu funktionieren.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Nein, exit 100 ist leider mit DSM 7 derzeit nicht möglich.
 
  • Like
Reaktionen: Busta2

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Du musst dich mit deinem angelegten Admin-Account per ssh anmelden. Dann sudo -i eingeben (nun nochmal das Passwort deines Accounts). Dann den Befehl ausführen.
Ich habe das jetzt gemacht, es geht aber immer noch nicht.
Hast du noch eine Idee?

Stimmt das so:
ls -l autorun
-rwxrwxrwx 1 admin users 293 Jun 24 2018 autorun

Laut der Anleitung soll da statt admin root stehen, aber ich habe schon mehrmals sudo chown root autorun durchgeführt, auch schon mit sudo -i.

Wenn ich das Skript händisch über SSH mit ./autorun starte, funktioniert es problemlos.
 
Zuletzt bearbeitet:

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Hast du die neueste Version (1.8) für DSM 7 von hier installiert?
Wenn den Befehl cp /var/packages/autorun/conf/privilege.root /var/packages/autorun/conf/privilege mit Root-Rechten ausgeführt hast, musst du das Paket im Paket-Zentrum einmal manuell starten.

Den Teil mit "Besitzer von autorun anpassen" aus der Anleitung habe ich weggelassen und trotzdem geht es.
 

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Manuell gestartet habe ich das Paket dann nicht mehr, da es schon gelaufen ist. Vielleicht liegt es daran, danke!
 

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Das hat leider auch nichts gebracht. Installiert habe ich von https://www.cphub.net/, es wird mir auch die 1.8 als installiert angezeigt. Die habe ich im Paketzentrum jetzt gestoppt und wieder gestartet, keine Änderung.
 

Busta2

Benutzer
Mitglied seit
05. Sep 2013
Beiträge
309
Punkte für Reaktionen
5
Punkte
18
Ich sehe gerade, dass man laut Anleitung die USB HDD mit ext4 formatieren soll, meine wird in der Systemsteuerung mit NTFS angezeigt. Aber das hat jetzt so seit Jahren funktioniert, bis ich dann auf DSM 7 geupdatet habe. Kann es daran liegen?

Edit: Funktioniert wieder. Ich habe autorun komplett deinstalliert, dann neu drauf und wieder per SSH das root command gemacht.
 

roterteufel81

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
252
Punkte für Reaktionen
60
Punkte
28
Ich hole den Thread mal noch mal hoch. Habe soweit alles installieren können. Aber eine Frage blieb noch offen: Das HyperBackup legt man ja als Einzelbackup auf USB an. Dabei lässt man ja auch die Rotationseinstellungen komplett weg, oder? Wird dann das letztmalig erstellte Backup in diesem Fall immer brav überschrieben, damit nur eine einzige Version auf USB liegt und die USB nicht volläuft mit der Zeit?


Edit:

Das Autostart Plugin scheint zu funktionieren. Wenn ich die USB Platte anklemme, dann wird die Status LED meiner 920+ Orange.

Allerdings Piept es direkt 2x hintereinander und die Status LED ist sofort wieder grün. Und auch der HyperBackup Job läuft nicht los.

Was mache ich falsch? Oder heißt Sleep 60 = 60 Minuten (warten)?

Meine autostart sieht so aus (ich habe es bei der ID schon mit "3" und "task_3" probiert, ging beides nicht:

#!/bin/sh
/usr/syno/bin/synobackup --backup task_3 --type image
sleep 60
while [ "$(/bin/pidof img_backup)" -o "$(/bin/pidof dsmbackup)" -o "$(/bin/pidof synoimgbktool)" -o "$(/bin/pidof synolocalbkp)" -o "$(/bin/pidof synonetbkp)" -o "$(/bin/pidof updatebackup)" ]
do
sleep 60
done
exit 0

Wenn ich HyperBackup Aufrufe, dann steht da:

sicherung.jpg
 
Zuletzt bearbeitet:

roterteufel81

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
252
Punkte für Reaktionen
60
Punkte
28
Habe heute morgen noch mal getestet und die HyperBackup Aufgabe noch mal neu erstellt. Ich weiß nicht, was ich genau falsch mache.

Die USBHDD ist übrigens mit Exfat formatiert, das Exfat Addon ist aber auf der Synology drauf und ein manuelles Backup funktioniert auch mit Exfat.

Habe das Plugin auch noch mal nach Anleitung neu installiert und gestartet:

Carola@DS920Plus: sudo -i
Password:
root@DS920Plus:~# sudo cp /var/packages/autorun/conf/privilege.root /var/packages/autorun/conf/privilege
root@DS920Plus:~#

Dann die ID geprüft:

[task_4]

backup_apps=["AntiVirus","DhcpServer","FileStation","HyperBackup","HyperBackupVault","OAuthService","SurveillanceStation
","Calendar","SynologyDrive","SynologyPhotos","SynologyApplicationService","SynoFinder","WebDAVServer"]
backup_apps_config=null
backup_filter={"exclude_list":["/surveillance/"],"whitelist":[]}
backup_folders=[]
backup_volumes=["/volume1"]
create_time=1640041855
data_compress_type=0
enable_data_encrypt=true
enable_delete=true
enable_dest_auto_unmount=true
enable_notify=true
enable_version_file_log=false
enable_version_rotation=false
incheck_info="{\"data_enable\":true,\"date\":\"2021/12/26\",\"time_limit\":30}\n"
incheck_sched_id=9
linkkey="DS920Plus_001132F7C0B5_4"
name="Sicherung_920Plus_nach_USB"
repo_id=4
rotate_customized_rules="[[86400,3600,1],[2419200,86400,1],[0,604800,1]]"
rotate_option="rotate_earliest"
sched_id=8
support_cross_file_dedup=true
target_dir="DS920Plus_to_USB.hbk"

Meine autorun auf der USB Platte:

#!/bin/sh
/usr/syno/bin/synobackup --backup 4 (und task_4 probiert) --type image
sleep 60
while [ "$(/bin/pidof img_backup)" -o "$(/bin/pidof dsmbackup)" -o "$(/bin/pidof synoimgbktool)" -o "$(/bin/pidof synolocalbkp)" -o "$(/bin/pidof synonetbkp)" -o "$(/bin/pidof updatebackup)" ]
do
sleep 60
done
exit 0

Ergebnis:

Einstecken --> Piept, Orange LED, piept direkt wieder, Grüne LED, Aufgabe läuft nicht los.

Auf der USB HDD existierte beim ersten Versuch heute morgen ein hbk File, welches aber leer ist. Wenn ich es von der USB lösche kommt bei weiteren Versuchen kein Neues mehr.

sicherung2.png

sicherung3.png
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Mitglied seit
28. Okt 2020
Beiträge
15.028
Punkte für Reaktionen
5.401
Punkte
564
Das HyperBackup legt man ja als Einzelbackup auf USB an. Dabei lässt man ja auch die Rotationseinstellungen komplett weg, oder? Wird dann das letztmalig erstellte Backup in diesem Fall immer brav überschrieben, damit nur eine einzige Version auf USB liegt und die USB nicht volläuft mit der Zeit?
Du kannst den Job auch als versioniertes Backup anlegen.
Wenn du die Einzelversion-Sicherung hast. hast du immer die exakte 1:1 Kopie der ausgewählten Daten auf der externen Platte. Unveränderte Dateien werden dabei nicht kopiert und neue Dateien in der Quelle überschreiben alte Dateien im Ziel. Somit hast du niemals 2 Versionen einer Datei.

Oder heißt Sleep 60 = 60 Minuten
Das heißt nur, dass alle 60 Sekunden geprüft wird, ob das Backup noch läuft.

Nicht "task_4", sondern nur "4". Auch wenn du das schon versucht hattest.

Ich würde mal versuchen, das Initialbackup per GUI durchzuführen und zu schauen, ob die Folgebackups per Script laufen.
 
  • Like
Reaktionen: roterteufel81

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.567
Punkte für Reaktionen
1.390
Punkte
234
/usr/syno/bin/synobackup --backup 4 (und task_4 probiert) --type image
Vor oder nach der obigen Zeile kannst du mal noch diese einfügen, welche lediglich die DS kurz piepsen lässt. So hast du die Bestätigung, ob dein Skript prinzipiell läuft.
echo 2 > /dev/ttyS1 #short beep
 

roterteufel81

Benutzer
Mitglied seit
30. Nov 2012
Beiträge
252
Punkte für Reaktionen
60
Punkte
28
Also müsste es, wenn das Script grundsätzlich, aber ohne die eigentliche Sicherung läuft, 4x piepen, 1x vor dem Script, 1x Start Script, 1x Ende Backup und 1x Ende Script. Denn es piebt ja jetzt schon 2x, er tut nur nichts dazwischen. Daher hatte ich angenommen, dass die ganze Geschichte grundsätzlich funktioniert, nur der Backup-Job selbst aus unerfindlichen Gründen bisher nicht anläuft.

Du kannst den Job auch als versioniertes Backup anlegen.
Wenn du die Einzelversion-Sicherung hast. hast du immer die exakte 1:1 Kopie der ausgewählten Daten auf der externen Platte. Unveränderte Dateien werden dabei nicht kopiert und neue Dateien in der Quelle überschreiben alte Dateien im Ziel. Somit hast du niemals 2 Versionen einer Datei.


Das heißt nur, dass alle 60 Sekunden geprüft wird, ob das Backup noch läuft.


Nicht "task_4", sondern nur "4". Auch wenn du das schon versucht hattest.

Ich würde mal versuchen, das Initialbackup per GUI durchzuführen und zu schauen, ob die Folgebackups per Script laufen.

Oh da habe ich wohl das Wording etwas schlecht gestaltet. Der Backup-Job ist als Image Sicherung angelegt (so auch in der autostart, siehe meine Beschreibung, nach der ID "image"), da man ja sonst nicht alle Apps wie Photos sichern kann. Ich meinte mit Einzelversion, dass ich nur keinen Zeitplan festgelegt habe. Der Job ist also ein manueller auf Knopfdruck und es gibt somit auch keine Rotation. Deshalb auch meine Nachfrage, ob er dann das bereits gesicherte Image immer brav überschreibt, oder ob nach Job 3 (jeder Job ist ca. 300GB) die Platte voll ist (1TB SSD)

Danke für die Erläuterung von "60"

Danke für den Hinweis das "4" schon richtig war, spart mit etwas Doppeltesterei mit "4" und "task_4".

Dann probiere ich mal eine manuelle Sicherung und schaue, ob danach dann das Backup laufen würde. Ich dachte es liefe von anfang an direkt automatisiert. Aber hier hatte niemand ein Feedback gegeben, wie es sich bei ihm verhalten hat.
 
Zuletzt bearbeitet von einem Moderator:


 

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