rsync bei schon vorhandenen Dateien

Status
Für weitere Antworten geschlossen.

Honie

Benutzer
Mitglied seit
16. Dez 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Hallo - trotz Suche habe ich bisher keine Antwort darauf gefunden:

Gibt es eine Möglichkeit, rsync so zum Laufen zu bekommen, dass bereits vorhandene
Dateien / Ordner berücksichtigt werden ohne dass die vorhandenen Verzeichnisse
umbenannt werden und der Prozess von vorne startet?

Ich habe bereits eine große Menge an synchronisierten Dateien, die wirklich 1:1
identisch sind. Diese möchte ich nun nicht komplett von vorne synchronisieren lassen,
sondern die bereits identischen sollen nicht mehr kopiert werden.
(habe vorher über eine robocopy die Daten identisch gehalten)

Wie konfiguriere ich das bei zwei Synologies?
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.889
Punkte für Reaktionen
1.171
Punkte
754
Wenn wirklich alles identisch ist (Timestamp, Rechte, User, Gruppe), dann synchronisiert rsync standardmäßig nur neue und geänderte Daten. Welche DSM-Version nutzt Du?
 

Honie

Benutzer
Mitglied seit
16. Dez 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Aber "die Synchronisation der gemeinsamen Ordner" legt sofort einen neuen Gemeinsamen Ordner an und benennt den bestehenden um.
Die Dateidaten sind gleich, die Benutzerrechte sind nicht gleich - müssen sie auch nicht sein.
Die Replikation erstellt den neuen Ordner im Ziel auch als "readonly"
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.889
Punkte für Reaktionen
1.171
Punkte
754
Bist Du sicher, dass Daten mit unterschiedlichen Rechten nicht von rsync synchronisiert werden? Müsste ich erst testen.

Die Synchronisierung gemeinsamer Ordner dient dazu, am Ziel exakt die gleiche Umgebung herzustellen wie an der Quelle. Bleibt der Ordner auch nach erfolgreichem Abschluss der Synchronisierung readonly?

Alternativ könntest Du ein rsync-Skript schreiben oder es mit Ultimate Backup aus dem Forum versuchen.
 

Honie

Benutzer
Mitglied seit
16. Dez 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
DSM ist die letzte aktuelle 6er Version.
Wenn ich auf einen mir diesem Dienst erzeugten gemeinsamen Ordner im Ziel etwas anlegen oder verändern will,
reichen meine Rechte als Admin nicht aus. Eventuell habe ich aber rechte um dies zu ändern. Das habe ich noch nicht ausprobiert.
Dies ist aber auch nicht mein Problem. Mein Problem ist, dass ich z.B. 3 TB an Dateien diesem Prozess als schon gesynct unterjubeln möchte,
ohne dass er den gemeinsamen Ordner umbenennt und einen neuen erzeugt und damit von vorne anfängt. rsync kann ja gerne
die vorhandenen Dateien überprüfen anhand der Checksumme, ob sie aktuell und korrekt sind - er soll sie aber nicht nochmal übertragen.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.889
Punkte für Reaktionen
1.171
Punkte
754
Du wirst root-Rechte brauchen. Per Checksumme zu arbeiten, verlangsamt rsync erheblich. Ich bin mir nicht sicher, dass er dann auf die Prüfung von Timestamp und m.E. auch Rechten verzichtet. Kannst Du auf einer Shell aber schnell testen.
 

Honie

Benutzer
Mitglied seit
16. Dez 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
OK ... andersherum... Gibt es einen Weg, wie ich den Ordner im Ziel so einstelle / manipulier / verändere, dass er vom rsync der quelle als
bereits gesyncter Ordner erkannt wird und der nicht mit _1 umbenannt wird und der sync Prozess komplett von vorne startet?
So wie ich gelesen habe, vergleicht rsync die zu syncenden Dateien immer per Hashwert und entscheidet dann, ob noch ein weiterer genauerer Hash angefordert
wird und welche Blöcke der Datei ersetzt werden oder ob die Datei als identisch angesehen wird.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.889
Punkte für Reaktionen
1.171
Punkte
754
Das mit den Hashwerten ist m.W. nicht der Standardweg, den rsync verwendet, sondern benötigt eine entsprechende Option. Da meine Vorschläge aber nicht anzukommen scheinen, bin ich an der Stelle 'raus.
 

Honie

Benutzer
Mitglied seit
16. Dez 2013
Beiträge
16
Punkte für Reaktionen
0
Punkte
0
Nicht falsch verstehen... Deine Hinweise sind richtig und bringen mich auch weiter, aber ich habe das Gefühl, dass wir aneinander vorbeireden:

Daher versuche ich es jetzt mal von ganz oben zu betrachten:

1. Ich habe eine Mediensammlung, die an zwei Orten identisch sein soll. (1 Master & 1 Slave)
2. Diese Mediensammlung ist grösser als 10 TB mit mehr als 100.000 Dateien.
3. Die Dateien an sich ändern sich nicht. Es kommen welche dazu, bzw. werden gelöscht (verschoben)
4, Wenn ich diese Daten alle über das Internet synchronisieren lasse, dann dauert ewig. Vor allem der initiale Vorgang.
5. Bisher habe ich dies per Robocopy über SMB Freigaben realisiert, möchte dies aber nun DIREKT von Synology zu Synology machen.
6. Cloudstation erzeugt einen zu großen Overhead und ich muss nicht die "slave" Seite verändern.
7. Daher wäre eine Lösung wie "Synchronisierung von gemeinsamen Ordner" ideal, die aber nicht als Bedingung hat, dass sie initial
komplett bei 0 anfängt, sondern die bereits im Zielsystem bestehenden Daten benutzt. (Gleiche Größe, gleicher Name, gleicher Timestamp, ignorieren von Berechtigungen),
so wie es auch bei robocopy von MS funktioniert. Dadurch hätte ich die Möglichkeit auch zwischendurch mal z.B. 50 GB "per Hand" vom Master auf eine externe HD zu kopieren
und in den Slave zu kopieren und rcopy dies dann auch als "gültig" erkennt.
8. Ich suche nach einem Weg, wie ich diese rcopy Funktionalität in die Anwendung "Synchronisierung von bestehenden Ordnern" einbringen kann.
Denn diese Funktionalität erzeugt IMMER einen neuen gemeinsamen Ordner _1 sobald ihm der existierende Ordner "fremd" ist.
9. Wenn ich als root per tty den schreibenden Zugriff auf den Zielordner habe und ich dort dann die Daten extern draufkopieren kann und anschließend läuft rcopy "sauber" weiter,
(ohne dass er dann diesen Ordner verwirft und ein _1 davon macht und wieder von vorne anfängt), wäre mir ja auch geholfen.
10.Ich bin auch gerne anderen Lösungen gegenüber offen, am liebsten natürlich mit Boardmitteln und so einfach wie möglich.
 

dil88

Benutzer
Contributor
Sehr erfahren
Mitglied seit
03. Sep 2012
Beiträge
29.889
Punkte für Reaktionen
1.171
Punkte
754
Ich habe jetzt ein (lokales) Szenario getestet: Entspricht beispielsweise bei einem normalen
Rich (BBCode):
rsync -av src/ dst
Aufruf der Eigentümer einer Datei am Ziel nicht dem Eigentümer der gleichen Datei an der Quelle, wird der Eigentümer angepaßt, die Datei aber nicht erneut transferiert. Insofern sollte - wie schon in Beitrag 4 geschrieben - ein rsync-Skript wie z.B. Ultimate Backup gut funktionieren.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.137
Punkte für Reaktionen
898
Punkte
424
@dil88 - dito. rsync geht.
@Honie - sorry, der Weg via "Synchronisierung gemeinsamer Ordner" geht eben nicht, wenn du die Daten schon am Ziel vorrätig hast, wegen der Eigenheiten von Synology.
Allein mit werksseitig vorhandenen Mitteln geht es eben nur via rsync im Aufgabenplaner, oder per Konsole. oder eben mit dem 3rd-party Paket Ultimate-Backup, oder ähnlichen Tools.
 
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