Basic Backup BasicBackup auf DSM 5.2 im Pull Verfahren

tschortsch

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
1.645
Punkte für Reaktionen
34
Punkte
74
Mir ist klar das BB @Tommes nicht für DSM 5.2 entwickelt wurde. Jedoch basiert das erstellete Script nur auf basis von rsync und diverse (für mich zu komplexen) Abfragen.

Wäre es dann möglich das Script auf einer neueren DS zu erstellen und dann Quelle und Ziel zu tauschen und auf die alte DS zu kopieren und dort zu starten?
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Puh… ähm… naja… theoretisch… also so rein theoretisch… könnte das auf die eine oder andere Weise eventuell sogar funktionieren. Ich habe sogar schon mal einen Gedanken daran verschwendet, dies als Option anzubieten. Aber ich hole kurz ein wenig aus…

Bei Ultimate Backup ist es so, das nach der Erstellung eines neuen Auftrages, die Auftragskonfiguration, die passenden Sprachvariabeln sowie das eigentlich rsync Script in einer Datei verschmolzen wurden. Man hätte nach der Erstellung eines Auftrages, Ultimate Backup durchaus deinstallieren können und das Auftrags-Script hätte trotzdem noch funktioniert. Das Problem dabei war aber stets, dieses zusammengebaute Script einem Update zu unterziehen, da man zuerst wissen musste, wo genau das Script liegt, welche Version dieses hat und ob man Auftragskonfiguration und rsync Script so updaten kann, das am Ende alles wieder rund läuft.

Basic Backup funktioniert daher genau andersrum. Beim Erstellen eines Auftrages wird an einem bestimmten Ort im System die Auftragskonfiguration und die Versionsnummer gespeichert. Des Weitern gibt es aktuell zwei Sprachdateien (deutsch und englisch) die ebenfalls an einem bestimmten Ort im System gespeichert sind. Zu guter Letzt wäre noch das eigentliche rsync Script zu erwähnen. Zur Ausführung des rsync Scripts wird diesem der Name der Auftragskonfiguration mitgegeben. Zusätzlich dazu können weitere Optionsschalter angehangen werden, wie z.B. -v oder -n für dry-run etc. Das sieht dann ungefähr so aus…

Bash:
bash /usr/syno/synoman/webman/3rdparty/BasicBackup/rsync.sh --job-name="Mein-Auftrag" -v -n

Was passiert also genau? Das rsync Script wird aufgerufen. Anhand der Option --job-name wird die Auftragskonfiguration nachgeladen und je nachdem, in welcher Sprache die Konfiguration vorliegt, wird die entsprechend Sprachdatei nachgeladen. Das hat wiederum den Vorteil, das wenn ich etwas am rsync Script oder aber an den Sprachdateien änder, das der Benutzer garnicht mehr mitbekommt. Erst wenn sich eine Änderung auf die Auftragskonfiguration auswirkt, muss der Benutzer seine Aufträge manuell updaten. Das ist auch der Grund, warum in dem Auftragsprotokoll drei Versionen auftauchen, nämlich z.B.
Basic Backup Version: 0.7-035 | Script Version: 0.7-035 | Job Version: 0.7-000

was bedeutet das jetzt bezüglich deiner Frage? Nun. Theoretisch könnte man die drei Komponenten Sprachdatei, Auftragskonfiguration und rsync Script in einer Datei verschmelzen und du wärst theoretisch im Ultimate Backup Universum. Ob das praktisch auch so hinhaut, müsste man testen. Falls du das versuchen möchtest, bitte. Die betreffenden Dateien liegen unter
/var/packages/BasicBackup/Target/ui/rsync.sh
/var/packages/BasicBackup/Target/ui/lang/rsync/lang_rsync_ger.txt (für deutsch)
/var/packages/BasicBackup/Target/ui/usersettings/backupjobs/Dein-Auftrag.sh

Kannst ja mal berichten, ob das geklappt hat.

Tommes
 
  • Like
Reaktionen: tschortsch

tschortsch

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
1.645
Punkte für Reaktionen
34
Punkte
74
Danke mal für die Info.
Da ich dann mal mein Hirn anstrengen und ausprobieren.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Hast du dein Hirn schon angestrengt? Kannst du schon Ergebnisse vorweisen? Oder soll ich mir das am WE man anschauen, um dich deinem Ziel näher zu bringen?
 

tschortsch

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
1.645
Punkte für Reaktionen
34
Punkte
74
Nein leider noch nicht. Die neuen Festplatten sind noch immer nicht da so hatte ich noch keine Möglichkeit die D410 mit den alten Platten auszustatten.

Ich bin dir aber nicht böse falls es dir keine Ruhe lässt ;)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Also! Ich hab da mal was vorbereitet. 😇

Was ist zu tun
  • Melde dich am DSM an.
  • Basic Backup muss im Vorfeld bereits installiert sein.
  • Es sollte mindestens ein Auftrag über Basic Backup angelegt worden sein, der bestenfalls bereits einmal ausgeführt wurde.
  • Öffne die File Station und kopiere dir die hier angehängte ZIP-Datei BB_Job_Export.zip in einen Ordner deiner Wahl (z.B. nach /NetBackup)
  • Führe einen Rechtsklick auf die ZIP-Datei aus und wähle im aufklappenden Kontextmenü Extrahieren -> Hier extrahieren aus und du erhältst die Datei BB_Job_Export.sh.
  • Melde dich auf der Konsole deiner DS als Benutzer root an.
  • Wechsel in den Ordner, wo du die Datei BB_Job_Export.sh abgelgt hast. Beispiel: cd /volume1/NetBackup
  • Führe nun die Datei aus mit...
    Bash:
    . ./BB_Job_Export.sh "/volume1/NetBackup/BB-Core" "ger"
    Es wird ein neuer Ordner namens BB-Core unter /volume1/NetBackup erstellt, wobei du für BB-Core auch jeden beliebigen Namen verwenden kannst. Das ger steht für die Ausgabesprache mit der die Basic Backup Aufträge später ausgeführt werden. Hier kannst du nur zwischen ger für Deutsch oder enu für Englisch wählen.
  • Nach der erfolgreichen Ausführung wechselt das Script automatisch in den Ordner /volume1/NatBackup/BB_Core und du solltest nun folgende Ordnerstruktur vorfinden...
    Code:
    /volume1/NetBackup/BB-Core
    /volume1/NetBackup/BB-Core/lang
    /volume1/NetBackup/BB-Core/lang/rsync
    /volume1/NetBackup/BB-Core/usersettings
    /volume1/NetBackup/BB-Core/usersettings/backupjobs
    /volume1/NetBackup/BB-Core/usersettings/logfiles
    ... die darüber hinaus auch diverse Dateien enthalten sollten.
  • Bis hierhin hast du nun alle Schritte erledigt, um Basic Backup Aufträge auch ohne die installierte App ausführen zu können. Wie das geht, zeig ich dir nun...
Wichtig ist, das du die o.A. Ordnerstruktur ab dem Order BB-Core stets genauso beibehältst. Die Konfiguration deiner erstellten Aufträge liegen unter BB-Core/usersettings/backupjobs Hier kannst du dann nach Belieben manuelle Anpassungen vornehmen. Möchtest du nun einen Auftrag ausführen, tust du das gleiche, wie auch in der GUI beschrieben, nur das sich die Pfade zum rsync Script geändet haben. Um bei unserem Beispiel zu bleiben... wechselst du in den Ordner /volume1/NetBackup/BB-Core und rufst folgenden Befehl auf...

Bash:
bash rsync.sh --job-name="[JOBNAME]"

... wobei du [JOBNAME] durch deinen Auftragsnamen ersetzen musst.

Nach der Ausführung wird dir ein Protokoll unter /BB-Core/usersettings/logfiles angelegt.

Im Prinzip sollte also alles so funktionieren wie unter der GUI... aber halt ohne GUI.

Kannst das gerne mal ausgiebig und in Ruhe testen und schauen, ob du damit was anfangen kannst und ob es deinen Wünschen entspricht.

Zum Schluss noch der Hinweis, das ich für diese Modifikation keinerlei Garantie aufFunktionsfähigkeit gebe. Du machst das also alles auf deine eigene Kappe.

Feedback ausdrücklich erwünscht.

Tommes
 

Anhänge

  • BB_Job_Export.zip
    209 Bytes · Aufrufe: 2

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Wäre es dann möglich das Script auf einer neueren DS zu erstellen und dann Quelle und Ziel zu tauschen und auf die alte DS zu kopieren und dort zu starten?
Okay. Das Erstellen der Script-Struktur auf einer neueren DS, auf der Basic Backup installiert ist, ist mit oben aufgeführter Anleitung schon mal abgehakt. Du kannst theoretisch die gesamte Ordnerstruktur, beginnend bei /BB-Core übernehmen und auf eine andere, ältere DS kopieren. Das Austauschen von Quelle und Ziel sowie weiterer Optionen sollte problemlos in unter BB-Core/usersettings/backupjobs/[JOBNAME].config möglich sein. Ob das rsync Script jedoch auch unter DSM 6.x oder DSM 5.x anstandslos läuft, kann ich dir nicht versprechen. Aus Mangel an passenden Umgebungen, kann ich das leider nicht testen. Hier bist du gefragt.

Viel Erfolg!
 
  • Like
Reaktionen: tschortsch

tschortsch

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
1.645
Punkte für Reaktionen
34
Punkte
74
Vielen Dank erstmal. Festplatten sidn heute auch gekommen, so kann ich am Wochenend alles mal umziehen und nächste Woche mal ausprobpieren.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.679
Punkte für Reaktionen
1.580
Punkte
314
Ich frag’ mich grade, warum ich mir eigentlich die Mühe gemacht habe, dir bei der Umsetzung einer Lösung behilflich zu sein, wenn ich nach 10 Tagen das hier sehe...

1678700939448.png

:(
 

tschortsch

Benutzer
Mitglied seit
16. Dez 2008
Beiträge
1.645
Punkte für Reaktionen
34
Punkte
74
Ich bitte höfflichst um Entschuldigung.
Ich habe leider aufgrund anderer Gründe (Job und Nachwuchs steht demnächst an und das Kinderzimmer muss fertig werden) leider zu wenig Zeit gehabt und noch nicht dazugekommen.
 


 

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