[Projekt] rsync -Alternative dateibasierte Datensicherung

Status
Für weitere Antworten geschlossen.

jugi

Benutzer
Mitglied seit
07. Apr 2011
Beiträge
1.853
Punkte für Reaktionen
0
Punkte
56
@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)
 

Hafer

Benutzer
Mitglied seit
03. Okt 2014
Beiträge
855
Punkte für Reaktionen
12
Punkte
38
oops, das war ein bischen ungenau :eek:

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.
 

jugi

Benutzer
Mitglied seit
07. Apr 2011
Beiträge
1.853
Punkte für Reaktionen
0
Punkte
56
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*
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
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

  • RSync-Script.zip
    4,9 KB · Aufrufe: 86

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
Danke Euch - Ihr beiden Granaten!! Seid Euch meiner Hochachtung gewiss :)

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

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
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
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
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 :)
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
*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
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
Morgen probiere ich es gerne aus - dann lass Dich mal schön massieren... ;)
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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.
 

Thonav

Benutzer
Sehr erfahren
Mitglied seit
16. Feb 2014
Beiträge
7.890
Punkte für Reaktionen
1.510
Punkte
274
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 :)
 

mehlbox

Benutzer
Mitglied seit
17. Nov 2015
Beiträge
119
Punkte für Reaktionen
0
Punkte
16
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...
 

mehlbox

Benutzer
Mitglied seit
17. Nov 2015
Beiträge
119
Punkte für Reaktionen
0
Punkte
16
(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.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
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
 

Hafer

Benutzer
Mitglied seit
03. Okt 2014
Beiträge
855
Punkte für Reaktionen
12
Punkte
38
@Tommes, PsychoHH:
Danke für die Mühen, die ihr euch gemacht habt!!

Ich warte gespannt auf eure nächsten Entwicklungen ... :cool:
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
218
Punkte für Reaktionen
13
Punkte
18
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.
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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.
 

CrimsonGlory

Benutzer
Mitglied seit
08. Okt 2011
Beiträge
218
Punkte für Reaktionen
13
Punkte
18
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
 

PsychoHH

Benutzer
Mitglied seit
03. Jul 2013
Beiträge
2.967
Punkte für Reaktionen
4
Punkte
78
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.
 

Tommes

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
26. Okt 2009
Beiträge
9.669
Punkte für Reaktionen
1.566
Punkte
314
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