[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Verzeichnisgröße ohne Hardlinks



Hallo Wolf,

Wolf Wiegand schrieb:
Hallo!

On Sat, Oct 01, 2005 at 06:12:09PM +0200, André Bischof wrote:
wie bekomme ich die Größe eines Verzeichnisses inkl. Unterverzeichnissen, aber ohne darin enthaltene Hard-/Symlinks?

Symlinks ließen sich bei du mit -P ausschließen, aber hardlinks?


Ich glaube nicht, dass man Hardlinks ausschließen kann. Sollte das Ziel
eines Hardlinks (ok, das ist jetzt nicht ganz richtig ausgedrückt)
innerhalb des selben Verzeichnisbaums sein, den Du mit 'du' untersuchst,
ist 'du' so schlau, die Datei nur einmal mitzuzählen.


Evtl. irgendwas mit find -type?


Hardlinks sind keine Links, sie sind die gleiche Datei. Da könnte man
höchstens das gesamte Dateisystem durchsuchen und alle Dateien suchen,
für die es mehr als einen Hardlink gibt, und dann entscheiden, welchem
Verzeichnis man ihren Platzbedarf zurechnen will.

ich bin schon ein wenig weiter:

root@linux:/backup# la 23/etc/cron.daily/
insgesamt 132
drwxr-xr-x    2 root root 4096 2005-09-22 23:48 .
drwxr-xr-x  178 root root 8192 2005-09-22 21:08 ..
-rwxr-xr-x   10 root root  311 2000-05-25 21:13 0anacron
-rwxr-xr-x   10 root root  321 2004-12-01 03:14 amavisd-new
-rwxr-xr-x   10 root root   50 2005-08-24 16:36 apt-get-update
-rwxr-xr-x   10 root root   38 2005-07-01 10:17 aptitude-autoclean
-rwxr-xr-x   10 root root   86 2004-02-24 16:06 apt-show-versions
-rwxr--r--    1 root root 5225 2005-09-22 23:48 backup
...
root@linux:/backup# find 23/etc/cron.daily/ -links 1
23/etc/cron.daily/backup
root@linux:/backup#

backup ist in 23/etc/cron.daily/ die einzige Datei, die sich verändert hat (es geht hier um inkrementelle Backups die durch Hardlinks wie Fullbackups aussehen), und deshalb kein Hardlink ist.

So kann ich die Dateien identifizieren, was mir jetzt fehlt ist eine Möglichkeit, die Dateigrößen aufzusummieren. Sollte mit einer Pipe wahrscheinlich kein Problem darstellen, leider fehlt mir das Wissen um den richtigen Befehl zur Summierung, vielleicht weiß da noch jemand Rat?

Also: find 23/ -links 1 | sum_filesizes

Viele Grüße
André



Reply to: