Frage zu rsync
-
- Beiträge: 566
- Registriert: 22.08.2010 10:40:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 64560 Riedstadt
Frage zu rsync
Ich habe viel über rsync gelesen aber ich verstehe leider noch nicht wie rsync für ein Backup funktioniert.
Wenn ich das erste mal rsync z.B. mit "-au" starte werden die gewünschten dateien ins Zielverzeichnis kopiert. Woher weiß denn rsync beim zweiten mal was bereits gesichert wurde? Wird hier mit dem Archiv-Bit gearbeitet oder erzeugt rsync eine Dateienliste?
Wenn ich das erste mal rsync z.B. mit "-au" starte werden die gewünschten dateien ins Zielverzeichnis kopiert. Woher weiß denn rsync beim zweiten mal was bereits gesichert wurde? Wird hier mit dem Archiv-Bit gearbeitet oder erzeugt rsync eine Dateienliste?
Ciao, Markus
Es hat alles seinen Grund...
Es hat alles seinen Grund...
-
- Beiträge: 115
- Registriert: 15.01.2005 22:35:26
Re: Frage zu rsync
Die manpage sagt das:
Rsync finds files that need to be transferred using a lqquick checkrq algorithm (by default) that looks for files that have changed in size or in last-modified time. Any changes in the other preserved attributes (as requested by options) are made on the destination file directly when the quick check indicates that the file's data does not need to be updated.
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Rsync verbindet sich mit der Gegenstelle und fertig Checksummen von allen Dateien an. Dabei werden die Dateien zusaetzlich in Bloecke unterteilt und von diesen Bloecke ebenfalls Checksummen angefertigt. Die Bloecke, die sich von den Quelldateien unterscheiden werden uebertragen. Fuer Backups ist deine Option "-u" aber ungeeignet / nicht notwendig.
-
- Beiträge: 566
- Registriert: 22.08.2010 10:40:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 64560 Riedstadt
Re: Frage zu rsync
Jetzt kommt etwas Licht ins Dunkle...
Das Zielverzeichnis für Backups ist doch dann immer das gleiche - oder? ich habe da schon gelesen, dass nach 1 Monat 30 verschiedene Sicherungsdateien/Verzeichnisse auf der Platte sind. Welche Schalter sind denn Grundsätzlich für ein Backup mit rsync notwendig wenn das Zielverzeichnis immer das gleiche sein soll?
Das Zielverzeichnis für Backups ist doch dann immer das gleiche - oder? ich habe da schon gelesen, dass nach 1 Monat 30 verschiedene Sicherungsdateien/Verzeichnisse auf der Platte sind. Welche Schalter sind denn Grundsätzlich für ein Backup mit rsync notwendig wenn das Zielverzeichnis immer das gleiche sein soll?
Ciao, Markus
Es hat alles seinen Grund...
Es hat alles seinen Grund...
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Nicht unbedingt, du kannst auch pro Tag ein neues Zielverzeichnis waehlen und mit der Option "--link-dest" arbeiten. Diese Option sollte immer auf das Backup vom Tag vorher zeigen oder alternativ auf das letzte Fullbackup. Auf diese Weise duplizierst du nicht taeglich die Datenmenge, sondern fuegst pro ungeaenderte Datei einen Hardlink ins Filesystem ein. Das Resultat ist ein Verzeichnisbaum, der wie ein vollstaendiges Abbild deiner Quelle aussieht, jedoch belegt er nur soviel Festplattenplatz, wie sich Dateien wirklich geaendert haben (+ Hardlink Overhead).
Gruss syssi
Gruss syssi
-
- Beiträge: 566
- Registriert: 22.08.2010 10:40:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 64560 Riedstadt
Re: Frage zu rsync
...und genau an diesem Punkt habe ich noch ein Verständnisproblem.syssi hat geschrieben:Nicht unbedingt, du kannst auch pro Tag ein neues Zielverzeichnis waehlen und mit der Option "--link-dest" arbeiten. Diese Option sollte immer auf das Backup vom Tag vorher zeigen oder alternativ auf das letzte Fullbackup. Auf diese Weise duplizierst du nicht taeglich die Datenmenge, sondern fuegst pro ungeaenderte Datei einen Hardlink ins Filesystem ein. Das Resultat ist ein Verzeichnisbaum, der wie ein vollstaendiges Abbild deiner Quelle aussieht, jedoch belegt er nur soviel Festplattenplatz, wie sich Dateien wirklich geaendert haben (+ Hardlink Overhead).
Wenn ich dann irgendwann einmal ein Full-Restore benötige dann müsste ich wieder rsync zum zurückspielen verwenden - oder?
Mir gefällt es nicht jedesmal beim Backup ein neues Verzeichnis zu erstellen. Gibt es die Möglichkeit eines inkrementellen rsync Backups in nur ein Zielverzeichnis?
Meine Umgebung:
Ich habe ein nfs share auf dem im Heimnetzwerk alle Arbeitsdateien von allen Familienangehörigen abgespeichert werden.
Für mein Backup habe ich mir jetzt 2x 2TB Festplatten zugelegt. Das heist ich möchte meine Backupfestplatte noch einmal sichern (Master-Backup) .
Ich dachte mir ich sichere mit rsync das nfs-share und auch die wichtigsten Konfigdateien der PCs auf die Backup-Platte und diese wiederum mit rsync auf die Master-Backup Platte. Wenn eine Platte wegfliegt dann hätte ich immer noch deren Kopie!
Ich habe alleine 1TB an Videofilm Material was ich natürlich nicht jedesmal sichern möchte.
Wie gehe ich da am besten vor?
Ich wollte es eigentlich so einrichten, sodass nach dem Hochfahren von Linux automatisch im Hintergrund ein Backup angestossen wird, der die Dateien von der vorhergehenden Sitzung sichert.
Ciao, Markus
Es hat alles seinen Grund...
Es hat alles seinen Grund...
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Dann musst du dir mal das Konzept von Hardlinks ansehen. Angenommen du legst eine Datei und verweist ueber Hardlinks aus 5 verschiedenen Verzeichnissen auf diese eine Datei, dann werden keine physikalischen Kopien dieser einen Datei erzeugt, sondern lediglich Verweise. Zusaetzlich wird ein Zaehler der eigentlichen Datei im Filesystem hochgezaehlt, in welchem steht, wie oft diese Datei an anderen Stellen genutzt wird. Der Hardlink ist anschließend nicht mehr von der urspruenglichen Datei unterscheidbar (im Gegensatz zu einem Symlink).
Aus diesem Prinzip entsteht dir ein großer Vorteil. Rsync erstellt fuer dich die ganzen Hardlinks, fuer jede Datei, die sich nicht geaendert hat einen. Wuerdest du also 30 inkrementelle Backups machen, so wuerden sich taeglich die Datenmenge nicht vervielfachen, sondern jeweils nur um die Aenderungen der Quelle ansteigen. Trotzdem ist dein Backup-Ordner (des heutigen Tages) am Ende des Backupdurchlaufs *vollstaendig*. Du kannst ihr also nur zurueck schreiben und starten. Es ist nicht notwendig muehsam die letzten Backups zu vereinigen.
Du scheinst einen alternativen Ansatz zu verfolgen. Ich glaube dies ist per "--compare-dest=DIR" moeglich. In diesem Fall wuerdest du ein Fullbackup beispielsweise am ersten Tag des Monats anfertigen und taeglich per "--compare-dest" deine Quelle mit diesem Ordner vergleichen und *nur* die Dateien, die sich geaendert haben seit dem ersten Tag des Monats werden in dein Zielverzeichnis uebertragen. Bei einem Ausfall deines Systems muesstest du dann erst einmal das Fullbackup zurueck schreiben und danach das letzte inkrementelle Backup.
Gruss syssi
Aus diesem Prinzip entsteht dir ein großer Vorteil. Rsync erstellt fuer dich die ganzen Hardlinks, fuer jede Datei, die sich nicht geaendert hat einen. Wuerdest du also 30 inkrementelle Backups machen, so wuerden sich taeglich die Datenmenge nicht vervielfachen, sondern jeweils nur um die Aenderungen der Quelle ansteigen. Trotzdem ist dein Backup-Ordner (des heutigen Tages) am Ende des Backupdurchlaufs *vollstaendig*. Du kannst ihr also nur zurueck schreiben und starten. Es ist nicht notwendig muehsam die letzten Backups zu vereinigen.
Du scheinst einen alternativen Ansatz zu verfolgen. Ich glaube dies ist per "--compare-dest=DIR" moeglich. In diesem Fall wuerdest du ein Fullbackup beispielsweise am ersten Tag des Monats anfertigen und taeglich per "--compare-dest" deine Quelle mit diesem Ordner vergleichen und *nur* die Dateien, die sich geaendert haben seit dem ersten Tag des Monats werden in dein Zielverzeichnis uebertragen. Bei einem Ausfall deines Systems muesstest du dann erst einmal das Fullbackup zurueck schreiben und danach das letzte inkrementelle Backup.
Gruss syssi
- Stratovarius
- Beiträge: 297
- Registriert: 07.04.2004 13:00:55
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 53° 27' 20,31'' N 9° 57' 29,31'' E
-
Kontaktdaten:
Re: Frage zu rsync
Moin moinsukram hat geschrieben:Gibt es die Möglichkeit eines inkrementellen rsync Backups in nur ein Zielverzeichnis?
Also ich sichere meine Daten mit
Code: Alles auswählen
rsync -avvu --delete \source\daten\ \media\sicherung\daten
Mit diesen Optionen werden die Berechtigungen etc. beibehalten, nur die geänderten bzw. neuen Daten übertragen, das --delete löscht gleich in der Sicherung was ich in den Daten gelöscht habe und, da ich das manuell anstoße, sehe ich was passiert (verbose halt - das zweite v).
Die --delete Option ist für dich vielleicht nicht so gut, wenn du rsync automatisch laufen lassen willst. Kann ja sein das eine Datei versehentlich gelöscht wurde ...
Gruß Strato
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Backslash.. pfui!
-
- Beiträge: 566
- Registriert: 22.08.2010 10:40:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 64560 Riedstadt
Re: Frage zu rsync
Was passiert denn eigentlich wenn zB eine Platte mit
quasi kopiert wurde und ich nun mit dem selben Kommando beim nächsten Lauf aber Quelle und Ziel tausche. Funktioniert da rsync noch? Nach dem wie ich es verstanden haben sollte das funktionieren.
Ich gehe davon aus, dass rsync beim arbeiten mit temporären Listen usw. arbeitet und diese nach getaner Arbeit gelöscht werden.
Code: Alles auswählen
rsync -av --checksum /media/backup01 /media/backup02
Ich gehe davon aus, dass rsync beim arbeiten mit temporären Listen usw. arbeitet und diese nach getaner Arbeit gelöscht werden.
Ciao, Markus
Es hat alles seinen Grund...
Es hat alles seinen Grund...
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Das funktioniert. Auf diese Weise wuerdest du dann ein Backup zurueckspielen ggf. ist noch die Option "--delete" wichtig. Rsync beruehrt naemlich keine Dateien (im Ziel), welche in der Quelle garnicht existieren. Die bleiben dann einfach bestehen, was nicht immer sinnvoll ist. Mittels "--delete" kannst du dir nach dem Sync sicher sein, dass das Ziel ein 1:1 Abbild der Quelle ist.
-
- Beiträge: 566
- Registriert: 22.08.2010 10:40:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 64560 Riedstadt
Re: Frage zu rsync
OK, dankesyssi hat geschrieben:Das funktioniert. Auf diese Weise wuerdest du dann ein Backup zurueckspielen ggf. ist noch die Option "--delete" wichtig. Rsync beruehrt naemlich keine Dateien (im Ziel), welche in der Quelle garnicht existieren. Die bleiben dann einfach bestehen, was nicht immer sinnvoll ist. Mittels "--delete" kannst du dir nach dem Sync sicher sein, dass das Ziel ein 1:1 Abbild der Quelle ist.
Bevor ich meine Daten mit rsync sichere, möchte ich 100% genau wissen was ich bzw. rsync da tut
Die Option "--delete" ist meiner Meinung die gefährlichste, und ich werde sie vermutlich nicht verwenden. Versehentlich gelöschte Dateien wären auch im Backup verschwunden, Was m.M. nach nicht passieren darf. Sicherlich gibt es aber auch sinnvolle Verwendung für diese Option.
Was mich aber in diesem Zusammenhang noch interessiert ist das Verhalten von rsync wenn z.B. im Quellverzeichnis eine Datei Namens brief_11.txt mit Node-ID 12345 gelöscht wurde die aber im Zielverzeichnis mit gleicher Bezeichnung und Node-ID noch existiert und die Datei mit gleichem Namen brief_11.txt aber einer anderen Node-ID z.B. 74213 im Quellverzeichnis wieder angelegt wird. Was passiert beim nächten rsync? Wird die Datei brief_11.txt mit Node-ID 12345 durch brief_11.txt mit Node-ID 74213 überschrieben?
Ciao, Markus
Es hat alles seinen Grund...
Es hat alles seinen Grund...
-
- Beiträge: 2951
- Registriert: 24.12.2010 16:50:59
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: Rheinland
Re: Frage zu rsync
Rsync synchronisiert auf Datei-Ebene. Wenn du eine Datei brief_11.txt im Backup hast und du spielst diese zurueck (egal, ob sie existiert oder nicht). Es findet sich am Ende die Datei brief_11.txt aus dem Backup auf deinem System.