Forum: PC Hard- und Software Ansammlungen kleiner Dateien finden


von Walter T. (nicolas)


Lesenswert?

Hallo zusammen,

anläßlich einer Neuinstallation (nach 5 Jahren - ich will mich nicht 
beschweren) meines Haupt-Rechners ziehe ich gerade eine komplette Kopie 
aller Festplatten-Partitionen. Das dauert.

Dominiert wird die Kopierdauer von vielen kleinen Dateien, die sich auf 
der Festplatte angesammelt haben. Früher™ hat man aus 
unterschiedlichsten Gründen Dateien ja lieber ungepackt auf der 
Festplatte hinterlegt. Und wenn auch nur aus dem Grund, daß 
*.MHT-Dateien noch nicht erfunden waren. Diese Ansammlungen teilweise 
gar nicht mehr benötigter Daten verderben mir jetzt den Spaß. 
Wahrscheinlich ginge jedes Backup doppelt so schnell, wären sie gelöscht 
oder in wenigen, großen Archiven gesammelt.

Kennt jemand eine Methode, Ansammlungen kleiner Dateien auf der 
Festplatte ausfindig zu machen?

 - Ich suche Ansammlungen kleiner Dateien. Nicht die Dateien selbst.

 - Mit der Windows-Suche mit Wildcards bekomme ich die Dateien ja 
einzeln- ich suche aber eher Verzeichnisse mit Verzeichnissen kleiner 
Dateien.

 - Bei Werkzeugen wie Sequoia-View verschwinden die kleinen Dateien in 
Subpixelgröße.

 - Es ist mir egal, ob für Windows oder Linux. Für so eine 
Reinigungsaktion boote ich auch gerne eine Live-"CD".

Viele Grüße
W.T.

von Blubb (Gast)


Lesenswert?

Ich weiß zwar nicht genau wie mit Verzeichnissen umgegangen wird, aber 
mit robocopy kann man angeben, dass man alle Dateien bspw <=10mb zu 
stelle x kopieren möchte.

von Burnus (Gast)


Lesenswert?

Ließe sich nicht ein Skript schreiben, das Dateien bis zu einer gewissen 
Größe zählt und dann das Ergebnis ab einer gewissen Anzahl pro Ordner 
ausgibt?

Kenne mich mit Dateiverwaltung unter Win / Linux nicht aus, aber gibt's 
da nicht entsprechende Befehle?

von c-hater (Gast)


Lesenswert?

Walter T. schrieb:

> anläßlich einer Neuinstallation (nach 5 Jahren - ich will mich nicht
> beschweren) meines Haupt-Rechners ziehe ich gerade eine komplette Kopie
> aller Festplatten-Partitionen. Das dauert.

Ja klar.

> Dominiert wird die Kopierdauer von vielen kleinen Dateien

Dann machst du etwas falsch. Man kopiert solche Backups natürlich nicht 
dateiweise, sondern macht einfach Images. Dann spielt die Größe 
irgendwelcher Dateien darin keine Rolle mehr, sondern allein die schiere 
Grösse der Partitionen. Dagegen ist allerdings kein Kraut gewachsen, 
auch das kann Tage dauern.

> - Mit der Windows-Suche mit Wildcards bekomme ich die Dateien ja
> einzeln- ich suche aber eher Verzeichnisse mit Verzeichnissen kleiner
> Dateien.
[...]
> - Es ist mir egal, ob für Windows oder Linux. Für so eine
> Reinigungsaktion boote ich auch gerne eine Live-"CD".

Na ist doch super. Bootest du Linux. Mit den Möglichkeiten der bash und 
des find-Kommandos ist sehr schnell ein Script geschrieben, welches tut, 
was du willst. Du musst dir dann bloß noch Gedankien über das genau 
Suchkriterium machen. Müsste grundsätzlich irgendwas á la:

Kriterium = Summe(Dateigrößen)/Anzahl Dateien

sein, ggf. angereichert durch irgendwelche harten Limits (wie etwa 
Höchstgröße einzelner Dateien im Verzeichnis) oder auch weiche Limits, 
wie etwa die Hochstgröße einzelner Dateien im Verhältnis zum Kriterium.

Allerdings: Skript+dateibasiertes Kopieren wird vermutlich länger laufen 
als nur das dateibasierte Kopieren. Und natürlich wird das Ziehen eines 
Image bei gut gefüllten Partitionen in aller Regel immer um 
Größenordnungen schneller sein. Naja, ausser es wäre gerade eine 
Sammlung von HD-Videos...

von Matthias L. (limbachnet)


Lesenswert?

c-hater schrieb:
> Dann machst du etwas falsch. Man kopiert solche Backups natürlich nicht
> dateiweise, sondern macht einfach Images.

Ansichtssache.

Ich finde Images für System-Partitionen sinnvoll, das Datengrab kopiere 
ich aber lieber dateibasiert, denn auf diese Kopie kann ich ohne 
jegliche Hilfsmittel mit Windows, Live-Linux oder sonstwas zugreifen und 
auch mal einzelne Dateien zurücksichern.

von michael_ (Gast)


Lesenswert?

c-hater schrieb:
> Dann machst du etwas falsch. Man kopiert solche Backups natürlich nicht
> dateiweise, sondern macht einfach Images. Dann spielt die Größe
> irgendwelcher Dateien darin keine Rolle mehr, sondern allein die schiere
> Grösse der Partitionen. Dagegen ist allerdings kein Kraut gewachsen,
> auch das kann Tage dauern.

So ein Backup muß man natürlich vorbereiten.
Allgemein ausmisten und die Laufwerke bereinigen sollten sein.
Danach Dateiprüfung und defragmentieren.
Und sein Backupprogramm sollte man auch einstellen können.

Zum Bsp. sollte ich mal ein Image einer 80GB HD zugeschickt bekommen.
Dort hat es 1 1/2 Tage gedauert. Bei mir dauert so etwas 1 Stunde.

Wenn möglich sollte man die Backkup-HD auch möglichst intern 
anschließen.
Über USB dauert es doppelt so lange.

Es muß nicht Tage dauern.

von Torsten C. (torsten_c) Benutzerseite


Lesenswert?

Walter T. schrieb:
> Kennt jemand eine Methode, Ansammlungen kleiner Dateien auf der
> Festplatte ausfindig zu machen?

Mit WinDirStat sieht man das gut.
Hat mir in solchen Fällen immer geholfen.

von Kommandozeile vor dem Frühstück für Alle! (Gast)


Lesenswert?

1
$ find . -type f | while read pfn
2
> do
3
>    du -sk "$pfn" &
4
> done | sort -nr

Das ist 'ne 2/3ttel-Lösung: das listet alle Dateien nach absteigender 
Grösse sortiert; weil der gesamte rel. Pfad angegeben ist, fallen 
visuell gruppierungen mit gleichem Pfadanfang schnell auf.

Auf meinem Lätschtopf (C2D 2G33, 4GBRAM) benötigt das <2'/10GB in <50k 
Dateien.

Es geht bestimmt besser (gem. Aufgabenstellung) UND schneller mit 
weniger Prozessen.
Das hab ich aber so aus'm Ärmel geschüttelt (3x laufen lassen wg. 
Zeitmessung hat viiiiiel länger gedauert)

von Irgendwer (Gast)


Lesenswert?

Mit Tools wie "TreeSize Free" findet man sowas eigentlich recht schnell:
http://www.jam-software.com/treesize_free/?language=DE

von c.m. (Gast)


Lesenswert?

"ansammlung kleiner dateien" ist etwas schwammig.
1
for d in $(find -type d) # verzeichnisse finden
2
do 
3
    s=$(du -bs "$d"| awk '{print $1}') # für jedes verzeichnis+uverz größe in b
4
    a=$(find "$d" -type f | wc -l) # anzahl dateien in diesem verz+uverz
5
    echo -ne "dir: $d\n  size $s\n  count $a\n"
6
done
ergibt
1
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Duplicate
2
  size 22105
3
  count 22
4
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Duplicate/ts
5
  size 7487
6
  count 18
7
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Esc
8
  size 13164
9
  count 20
10
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Esc/ts
11
  size 5350
12
  count 18
13
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Delete
14
  size 20054
15
  count 21
16
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Edit/Delete/ts
17
  size 5395
18
  count 18
19
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Navigation
20
  size 41247
21
  count 20
22
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Navigation/DefaultNavigation
23
  size 37151
24
  count 20
25
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Navigation/DefaultNavigation/ts
26
  size 17850
27
  count 18
28
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Tools
29
  size 23679
30
  count 3
31
dir: ./temp/qcad-3.14.3-linux-x86_64/scripts/Tools/ts
32
  size 4096
33
  count 0

anhand des verhältnisses "größe verzeichnis" und "anzahl enthaltener 
dateien" kann man schätzen wie viele "kleine dateien" enthalten sind.
aber wie gesagt: eine genaue definition von "ansammlung kleiner dateien" 
fehlt, und was ein ausschlusskriterium für ein verzeichnis ist (z.b. 
eine 1gb datei neben 1000 0b dateien).

von Walter T. (nicolas)


Lesenswert?

Hallo,

erstmal danke für die zahlreichen Antworten.

Mit den Backups halte ich es wie limbachnet: Die Datenpartition wird 
Dateibasiert gesichert.

michael_ schrieb:
> o ein Backup muß man natürlich vorbereiten.
> Allgemein ausmisten und die Laufwerke bereinigen sollten sein.

Darum geht es mir ja: Ich will zwischen diesem und dem nächsten Backup 
mal ausmisten. Und dabei aber nicht meine ganze Festplatte durchklicken, 
sondern gezielt die Sachen ausmisten, die mich am meisten stören. 
Nämlich die Ordner mit den vielen, winzigen Dateien.

Torsten C. schrieb:
> Mit WinDirStat sieht man das gut.

Das schaue ich mir gerade an. Praktischerweise gibt es eine "portable" 
Version. Die Darstellung erinnert zuallererst an SequoiaView in bunt, 
mit dem Nachteil, daß ich große Dateien schnell ausfindig machen kann, 
kleine Dateien aber auf Subpixelgröße verschwimmen. Aber vielleicht 
findet sich da was.

Irgendwer schrieb:
> Mit Tools wie "TreeSize Free" findet man sowas eigentlich recht schnell:

TreeSize ist gut darin, Duplikate zu finden und durch Hardlinks zu 
ersetzen. Wie ich damit kleine Dateien finde, ist mir nicht klar.

Kommandozeile vor dem Frühstück für Alle! schrieb:
> Das ist 'ne 2/3ttel-Lösung: das listet alle Dateien nach absteigender
> Grösse sortiert; weil der gesamte rel. Pfad angegeben ist, fallen
> visuell gruppierungen mit gleichem Pfadanfang schnell auf.

Das entspräche der Windows-Suche mit "<1MB" und dann nach Größe 
sortieren. Das wäre meine Notlösung.

von Walter T. (nicolas)


Lesenswert?

c.m. schrieb:
> "ansammlung kleiner dateien" ist etwas schwammig.

Das stimmt. Deswegen gibt ja die lange Erläuterung, was damit bezweckt 
werden soll, dahinter.

Daß hier viel Handarbeit nötig sein wird, ist mir im vornherein klar.

Walter T. schrieb:
> SequoiaView in bunt

Ich merke gerade: Das "in bunt" ist genau das Feature, das mir hier 
hilft. Da diese Mini-Dateien-Ordner ja immer mit bestimmten Dateitypen 
gefüllt sind (meist HTML, JS, GIF, LOG & Co.), fängt das langsam an, 
übersichtlich zu werden.

von Route_66 H. (route_66)


Lesenswert?

Hallo!
Ich nutze für solche Sachen auch den "Total Commander". Der erlaubt 
unter "Dateien suchen" sehr viele Filtermöglichkeiten - u.a. Dateigröße.

von c-hater (Gast)


Lesenswert?

Matthias L. schrieb:

> Ansichtssache.

Sicher auch, aber nicht nur. Was in jedem konkreten Fall am sinnvollsten 
ist, hängt schlicht von der Art der Daten und vom Füllungsgrad des 
Mediums ab. Wenn ich eine 4TB-Platte sichere, die nur zu 2% gefüllt ist, 
würde ich natürlich auch kein Image verwenden, genausowenig, wenn ich 
eine fast volle 4TB-Platte sichere, die aber nahezu ausschließlich 
HD-Videos mit einer durchschnittlichen Größe von 25GB beherbergt.

Man muss halt einfach nur wissen, was man tut.

> Ich finde Images für System-Partitionen sinnvoll, das Datengrab kopiere
> ich aber lieber dateibasiert, denn auf diese Kopie kann ich ohne
> jegliche Hilfsmittel mit Windows, Live-Linux oder sonstwas zugreifen und
> auch mal einzelne Dateien zurücksichern.

Das kann man unter Linux auch bei Images. Loopback-Mounts wurden vor 
geraumer Zeit schon erfunden. Und wieder:

Man muss halt einfach nur wissen, was man tut.

von Rolf M. (rmagnus)


Lesenswert?

c-hater schrieb:
>> Ich finde Images für System-Partitionen sinnvoll, das Datengrab kopiere
>> ich aber lieber dateibasiert, denn auf diese Kopie kann ich ohne
>> jegliche Hilfsmittel mit Windows, Live-Linux oder sonstwas zugreifen und
>> auch mal einzelne Dateien zurücksichern.
>
> Das kann man unter Linux auch bei Images. Loopback-Mounts wurden vor
> geraumer Zeit schon erfunden.

Funktioniert prima mit dd-Images, aber wer macht die heute noch? Viel zu 
langsam und viel zu groß. Wenn man's dann gzipt, wird's zwar kleiner, 
aber noch langsamer und auch nicht mehr mountbar.
Daher mach ich schon seit Jahren nur noch Clonezilla-Images. Die kann 
man aber auch nicht einfach per Loopback mounten. Es gab mal ein Tool, 
um die mounten zu können, aber das hat, als ich das mal ausprobiert hab, 
leider nicht mehr funktioniert und wurde auch schon lange nicht mehr 
weiterentwickelt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.