[Projekt] rsync -Alternative dateibasierte Datensicherung

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.
@Hafer: ich hatte hier ein paar Seiten vorher einen Link zu nem recht guten versionierten rsync-script gepostet - leider dank einigen absicherungen so nur unter ubuntu lauffähig, aber auch leicht zu portieren.

Und wie genau ist dir bei großen Dateien die Versionierung "um die Ohren" geflogen? eigentlich ist rsync da sehr robust… (die übertragung scheint ja sogar blockbasiert zu sein - behauptet da einer: http://ubuntuforums.org/showthread.php?t=1549863)
 
oops, das war ein bischen ungenau :o

Gemeint war, dass die Platten sehr schnell voll liefen - denn die Übertragung mag zwar blockbasiert sein, d.h. es werden nur die Differenzen zur Vorversion übertragen, am Ziel setzt rsync die files aber wieder vollständig zusammen, sobald auch nur ein bit Unterschied vorhanden ist. Somit wird zwar Übertragungs-, nicht aber Speicherkapazität gespart.
 
ja gut, wobei das in dem Fall hier ja genau das gewünschte verhalten ist :) Dein Problem löst ja Synology mit dem neuen Hyper Backup.

Mich würde in dem Kontext mal interessieren, ob es eigentlich ein Datenbankbasiertes und frei zugängliches unix-backup-tool gibt… *denks*
 
Revamp... oder besser gesagt: Der Weg war das Ziel!

Leute, es ist vollbracht.

PsychoHH und meine Wenigkeit haben tatsächlich geschafft... wir sind am Ziel!

Auch wenn uns Synology mit der Wiedereinführung der dateibasierten Datensicherung innerhalb Hyper Backup einen kleinen Seitenhieb verpasst hat, so haben wir es als unsere Pflicht angesehen, dieses Projekt fertig zu stellen. Auch wenn wir uns dessen bewusst sind, das unser Projekt evtl. nur ein Nischensasein fristet, so bietet unsere Arbeit doch einen entscheidenen Vorteil gegenüber allem bisher dagewesenden... wir können sowohl aus- als auch in verschlüsselte Ordner sichern. Lange Rede, kurzer Sinn...

Unser Script bietet folgende Möglichkeiten...

  • Quelle(n) und/oder Ziel können unverschlüsselt sein
  • Quelle(n) und/oder Ziel können verschlüsselt sein
  • Sicherung innerhalb eines /volume
  • Sicherung zwischen internen /volumes
  • Sicherung auf lokal angeschlossene USB-/SATA-Datenträger sowie eingebundene Remote-Shares (nur unverschlüsselt)
  • Sicherung von einer entfernten DS oder RSync-kompatilben Server
  • Sicherung auf eine entfernte DS oder RSync-kompatilben Server
  • (weitere Konstellationen sind möglich, wurden jedoch nicht getestet)

Ihr findet das Script sowie eine Ausführliche Beschreibung im hiesigen Wiki *klick* Und für all die, die es sich lieber als Datei downloaden wollen, habe ich das Script als Dateianhang beigefügt.

Wir wünschen euch viel Spaß mit unserem Script, probiert es aus, testet es, gebt uns Feedback, meldet Fehler.... habt einfach Spaß damit.

In eigener Sache: Für mich war dieses Projekt in jeglicher Hinsicht eine grandiose Bereicherung. Ich habe sehr viel über Linux und das Scripten gelernt und es hat tierisch viel Spaß gemacht. Vor allem aber die Arbeit mit PsychoHH sucht seines Gleichen. Gefühlte 500 E-Mails haben wir ausgetauscht, haben uns die Nächte um die Ohren geschlagen, die Köpfe zerbrochen, nach Lösungen gesucht, uns gegenseitig angestichelt nicht aufzugeben...

Vielen vielen Dank dafür, PsychoHH. Es war eine absolut geile Zeit. Es war mir eine Ehre mit dir an diesem Projekt arbeiten zu dürfen.

Tommes
 

Anhänge

Danke Euch - Ihr beiden Granaten!! Seid Euch meiner Hochachtung gewiss :)

Wer von Euch beiden hat denn das Wort "eingehangene" erfunden? ;)
 
Zuletzt bearbeitet:
Wer von Euch beiden hat denn das Wort "eingehangene" erfunden? ;)

Hm... das muß ich wohl gewesen sein *g* eingehängt hört sich halt auch irgendwie schräg an. Aber hey... das kannst du glüklicherweise ja alles selber im Script ändern. Ich hab jetzt erstmal die Schnauze voll vom Scripten *lach*

Ach ja, Danke für deine lobenden Worte.

Tommes
 
Ich hab jetzt erstmal die Schnauze voll vom Scripten *lach*

*lach* Als ob ich Noob es wagen würde auch nur ein Wort Eures Meisterstücks abzuändern ;)

Ich würde mich jetzt sehr freuen, wenn Ihr noch heute Nacht damit anfangt das ganze in ein luxuriöses Paket (bitte mit ansprechendem Design!!) einzubinden :)
 
*lach* Als ob ich Noob es wagen würde auch nur ein Wort Eures Meisterstücks abzuändern ;)
Ob du es glaubst oder nicht, aber auch ich kam einst aus dem Tal der Ahnungslosen und das ist noch garnicht so lange her. Der Thread startete am 29.01.2016 und meine Kenntnisse im Scripten waren... sagen wir mal... äußerst schlecht. Aber der Weg ist das Ziel und nichts geht über learning by doing. Jedoch wäre das Projket ohne PsychoHH nicht das was es aktuell ist. Aber vielleicht solltest du das "Meisterstück" erstmal ausprobieren und schauen ob es überhaupt läuft. Wer weiß, wer weiß...

Ich würde mich jetzt sehr freuen, wenn Ihr noch heute Nacht damit anfangt das ganze in ein luxuriöses Paket (bitte mit ansprechendem Design!!) einzubinden :)
Kein Ding. Das ist doch ein Klacks für mich... warte mal kurz... ah, ne... geht nicht. Ich hab Nacken. Muss wohl ein anderer machen.

Tommes
 
Morgen probiere ich es gerne aus - dann lass Dich mal schön massieren... ;)
 
Was für tolle Worte von euch beiden.

Wir haben beide einiges gelernt und wenn man mal überlegt, dass wir mir Scripten sonst nichts am Hut haben kann es sich sehen lassen und es funktioniert ja auch. Vor ein paar Wochen hatte ich mit der Scripterei auch so gut wie nichts am Hut. Das einzige war mal ein mount unmout Script, dazu ein Notizdokument mit paar Befehle die ich mir so aufgeschrieben habe.

Und ja es waren echt knapp 500 Emails. Der Code musste so oft geändert werden und wurde teilweise komplett umgeschrieben, damit alles sauber läuft. Wie oft haben wir alles getestet, Fehler produziert. (DSL Verbindung getrennt, zwei DS ausgeschaltet usw.)

Paarmal wurden Verzeichnisse einfach woanders hinkopiert, wenn eine Variable oder Zeichen falsch war.
Am besten war dann der Fall, wenn neben volume1 ein Ordner volume* erstellt wurde und die ganzen Abfragen nicht mehr hingehauen haben. Boar bis ich das entdeckt habe. Also erstmal alle Ordner in volume* gelöscht und dann den Ordner selbst. Wollte ungern alle volumes löschen.
Dann gab es bei tossh richtig Probleme die Anfangs nicht nachvollziehbar waren. Rsync wollte auch keine "Unterordner" erstellen und ich musste vorher erst das Ziel volume auswerten und dann die Unterordner selbst erstellen, nachdem der Ordner verfügbar war.
Aber egal all die Sachen sind zum Glück Geschichte.


Dann habe ich einfach mal autorun getestet und es lief ja auch unter DSM 6 und das war genial. Es gibt unheimlich viele Anwendungsmöglichkeiten, gerade wenn man verschlüsselte Ordner nutzt und das Script mithilfe von autorun und den Keys nutzt.

Zwei kleine Sachen sind mir noch aufgefallen die man noch ändern kann. Dazu gibt es aber erst.. später ein update, da es die eigentliche Funktion nicht ändert. Mehr ein log Ding.

Nur mal so eine Frage, besteht ein Interesse an einem integrierten wol Script? So könnte man die zweit DS / Server durch das Script starten lasen.
Dazu muss im Script nur die Mac Adresse hinzugefügt werden.

Und jetzt Feuer frei und viel Spaß.

Sollte es fragen oder Probleme geben einfach schreiben.
 
Ihr beiden Helden - selbstverständlich bin ich gerne bereit Euer Tool bei mir auf meiner DS1515+ in Verbindung mit meiner DS213 Backup, einzusetzen.
Da Eure, ja schon von Synology geschassten, DS216+ und DS716+ sicherlich jetzt so ausgenudelt sind, stehe ich zum Feldtest bereit.

Nun das Problem - habe keinerlei Ahnung von skripten - wäre also auf Eure Hilfe in Realtime, per Telefon und/oder Teamspeak angewiesen. Falls Ihr unterstützen wollt, würde ich meine Telefonnummer per PN zukommen lassen :)
 
Danke für die Rückmeldung.
Ja, es ist "erstmal nur ein Optionsschalter im RSync-Aufruf", aber der will durch eine geeignete Versionierungsstrategie gesteuert werden. Vor ein paar tausend Jahren hatte ich tatsächlich mal mit rsync ein script für (rudimentär) versionierte Backups gebaut - und ja, dazu sind hardlinks nötig, wenn nicht die Platte ratz-fatz zugemüllt werden soll.
Ob dafür NTFS geeignet ist, weiß ich nicht, ich hatte damals EXT3/4 verwendet. Um die unter Windows auszulesen, benötigt man ja schon wieder extfs Treiber - das widerspricht vermutlich deiner Philosophie.

Rsync hat nicht nur das Problem dass nicht Blockbasiert gespeichert wird. Ein simples umbenennen von Datei oder Ordner bringt Rsync dazu alles vollständig zu übertragen. Dass kann je nachdem wie Upload und Dateigröße im Verhältnis stehen dauern. Ein Workaround habe ich im Netz gefunden und in meinem persönlichen Script eingebaut. Versionierung inklusive.
Siehe #58 und #67.
Dabei kann sich Ordner und Dateiname über die Versionen hin ständig ändern ohne mehr Speicherplatz einzunehmen.
Voraussetzung ist natürlich Hardlinks auf ext4.

Edit: Ich habe das damals übrigens komplett aufgegeben, weil es zu meinen use cases gehört, große Dateien mit viel Aufwand geringfügig zu ändern - da fliegt einem die Versionierung schnell um die Ohren. Mit DSM 6 scheint das aber kein Problem mehr zu sein (siehe hier) - aber das ist eine andere Story
Das was Synology mit der CloudStation hingezaubert hat basiert auf BTRFS. Bedeutet DSM 6 ohne BTRFS wird dir weiterhin die Datei vollständig (nicht blockbasiert) ablegen. Zudem ist diese Art Versionierung nur auf dem internen Volumen abgelegt.
Wieder nix mit Windows im Schadensfall...
 
(siehe hier) - aber das ist eine andere Story.
Ich denke Lightroom ist zum testen der Effizienz solcher Systeme nicht geeignet. Bearbeitungsschritte werden in Lightroom nicht destruktiv durchgeführt. Somit wurde die originale Datei nicht verändert.
 
Nun das Problem - habe keinerlei Ahnung von skripten - wäre also auf Eure Hilfe in Realtime, per Telefon und/oder Teamspeak angewiesen.

Hm... eigentlich ist das Meiste selbsterklärend oder du findest die passenden Informationen im Wiki oder in den Kommentaren innerhalb des Scripts. Du musst ja nicht gleich mit autorun, verschlüsselten Ordnern und SSH arbeiten, sondern erstmal mit ein paar Testdaten klein Anfangen und das Script über den Aufgabenplaner des DSM aufrufen.

Solltest du aber überhaupt nicht zurecht kommen, dann schick mir eine PN und wir schauen, das wir das irgendwie ans laufen bekommen.

Tommes
 
@Tommes, PsychoHH:
Danke für die Mühen, die ihr euch gemacht habt!!

Ich warte gespannt auf eure nächsten Entwicklungen ... :cool:
 
Ist es möglich ein Vorgangsbalken o.ä. zu intergrieren damit man weiß wie weit der Vorgang ist?
Man sieht ja nur dass der Skript gestartet wurde, mehr nicht.
 
it's done when it's done..

Wie und wo willst du das anzeigen?
Startet du das Script selbst per Terminal ?

Du könntest sonst noch v oder P mit in die SYNCOPT aufnehmen.


Du kannst selbstverständlich zwischendurch einfach die Logs öffnen um zu schauen was passiert.
Da sieht man ja ziemlich viel.
 
Ich hab's jetzt mal über den Aufgabenplaner gestartet. Im Protokoll-Center sehe ich nix.
Das ding läuft das erste mal, also bin schon gespannt :D
 
Nein nicht im Protokollcenter :)

Die Logs liegen beim Script/@Logfiles oder bei der lokalen Sicherung im Ziel/@Logfiles Ordner.

Öffne einfach mal die FileStation und geh in den Ordner wo das Script liegt, dann in den Ordner @Logfiles, dann Rechtsklick öffnen mit Text Editor beim Logfile.

Da wird viel aufgelistet.

Wenn dir das nicht langt füge dort im Script ein v hinzu:

SYNCOPT="-ahRv"

und für noch mehr Infos ein P

SYNCOPT="-ahRP"

dann wird so gut wie alles aufgelistet inkl. Speed.
 
Ich hab grade nochmal das Wiki umgeschrieben und jede Menge Text geändert. vielleicht solltet ihr nochmal einen Blick hineinwerfen. Es lohnt sich...

Hier nochmal der Link zum Wiki *klick*

Tommes
 
Status
Für weitere Antworten geschlossen.
 

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