du tellen hardlinks mee voor bestandsgrootte?

Ik heb een back-upsysteem dat mappen maakt met de naam Unix Timestamps en vervolgens incrementele back-ups maakt met behulp van een hardlink-systeem (–link-dest in rsync), dus meestal is de eerste back-up erg groot, en latere back-ups zijn fracties even groot.

Dit is mijn output van mijn huidige back-ups:

root@athos:/media/awesomeness_drive# du -sh lantea_home/*
31G lantea_home/1384197192
17M lantea_home/1384205953
17M lantea_home/1384205979
17M lantea_home/1384206056
17M lantea_home/1384206195
17M lantea_home/1384207349
3.1G    lantea_home/1384207678
14M lantea_home/1384208111
14M lantea_home/1384208128
16M lantea_home/1384232401
15G lantea_home/1384275601
43M lantea_home/1384318801

Alles lijkt correct, maar neem bijvoorbeeld de laatste directory, lantea_home/1384318801:

root@athos:/media/awesomeness_drive# du -sh lantea_home/1384318801/
28G lantea_home/1384318801/

Ik krijg constant dit gedrag, waarom wordt de directory als 28G beschouwd door het tweede du-commando?

Opmerking – de uitvoer blijft hetzelfde met de vlaggen -P en -L.


Antwoord 1, autoriteit 100%

Hardlinks zijn echte verwijzingen naar hetzelfde bestand (weergegeven door zijn inode). Er is geen verschil tussen het “originele” bestand en een harde link die ernaar verwijst. Beide bestanden hebben dezelfde status, beidezijn dan verwijzingen naar dit bestand. Als je er een verwijdert, blijft de andere intact. Alleen het verwijderen van de laatste hardlink zal het bestand uiteindelijk verwijderen en de schijfruimte vrijmaken.

Dus als je duvraagt ​​wat het in slechts één map ziet, maakt het niet uit dat er ergens anders hardlinks zijn die naar dezelfde inhoud verwijzen. Het telt gewoon de grootte van alle bestanden en somt ze op. Alleen hardlinks binnende betreffende directory worden niet meer dan één keer geteld. duis zo slim (niet alle programma’s hoeven dat per se te zijn).

In feite zou directory A dus een dugrootte van 28G kunnen hebben, directory B zou een grootte van 29G kunnen hebben, maar samen bezetten ze nog steeds slechts 30G en als je duvan de grootte van A en B, dan krijg je dat nummer.

Schijfgebruik door verschillende mappen wanneer er hardlinks in het spel zijn.


Antwoord 2, autoriteit 13%

En met de schakelaar “-l” telt du ook de hardlinks in elke submap, zodat ik kan zien hoe groot de hele back-up is, niet alleen de increment-delta.

Other episodes