rsync und Hardlinks

22/10/2010 - 14:47 von Peter Mairhofer | Report spam
Hi,

Frage 1:

Ich habe mit rsync --dest-links Backups erstellt (gleiche Dateien sind
also mit Hardlinks verknüpft). Den gesamten Backupbaum möchte ich nun
auf eine andere Platte kopieren. Wenn ich -H verwende, werden ja
Hardlinks berücksichtigt:

rsync -a -H /altes_backupplatte /neue_backupplatte

... müsste die Hardlinks mitkopieren und so gleich viel Speicherplatz
auf der neuen Platte benötigen wie auf der alten oder?
Aber: Wie macht das rsync? Wie findet es zu einem bestimmten
Verzeichniseintrag die restlichen Links darauf hinaus?

Frage 2:

Wenn ich mit rsync und --dest-links arbeite: Benenne ich z.B. ein
Verzeichnis um so bleibt der Eintrag im Verzeichnisindex ja gleich; es
àndert sich nur der Name (mv). Angenommen ich benenne jetzt ein 10GB
Verzeichnis von "daten" nach "Dateien" um, ist dann das nàchste Backup
um 10GB größer?

Falls ja: Oje :-( Gibt es Methoden das zu verhindern?
Falls nein: Juhuu! :-) Aber wie macht rsync das? Es wird ja schließlich
kein Index inode<-->Verzeichniseintragname gespeichert. Wie findet rsync
heraus dass es sich ums gleiche Verzeichnis handelt?

LG Peter
 

Lesen sie die antworten

#1 Marcel Müller
22/10/2010 - 15:56 | Warnen spam
Hallo,

Peter Mairhofer wrote:
... müsste die Hardlinks mitkopieren und so gleich viel Speicherplatz
auf der neuen Platte benötigen wie auf der alten oder?
Aber: Wie macht das rsync? Wie findet es zu einem bestimmten
Verzeichniseintrag die restlichen Links darauf hinaus?



ich habe mit rsync noch nicht geschafft, aber es wàre das erste
Programm, das nicht die Kombination aus Dateisystemid und inode-Number
nimmt.

Und wenn das darunterliegende Dateisystem keine Inode-Numbers
unterstützt (z.B. bei CIFS auf entsprechende WinXX-Server), geht es
gnadenlos in die Hose.

Frage 2:

Wenn ich mit rsync und --dest-links arbeite: Benenne ich z.B. ein
Verzeichnis um so bleibt der Eintrag im Verzeichnisindex ja gleich; es
àndert sich nur der Name (mv). Angenommen ich benenne jetzt ein 10GB
Verzeichnis von "daten" nach "Dateien" um, ist dann das nàchste Backup
um 10GB größer?



Das ist kein Problem. Die hart verlinkten Dateien haben unabhàngig von
ihrem Pfad oder Verzeichnis die gleiche Inode-Number.

Falls nein: Juhuu! :-) Aber wie macht rsync das? Es wird ja schließlich
kein Index inode<-->Verzeichniseintragname gespeichert.



Nein, der Index ist meist nur unidirektional.
Verzeichniseintragname-->inode. Üblicherweise hat der inode nur einen
Referenzzàhler. Alles weitere wàre (wenn da etwas nicht passt) ein Job
für fschk und eine làngere Kaffeepause.

Letztlich ist es aber Sache des Dateisystems. Es könnte genauso gut in
den File-inodes eine Liste der referenzierenden Verzeichnis-inodes führen.


Wie findet rsync
heraus dass es sich ums gleiche Verzeichnis handelt?



Es merkt sich die inodes, die es schon hatte.


Marcel

Ähnliche fragen