Script für die Ordnergröße
-
- Posts: 218
- Joined: 2004-09-15 10:14
Script für die Ordnergröße
Hallo zusammen,
ich bin auf der Suche nach einem Befehl, mit dem ich mir die komplette Größe eines Ordners und der Unterordner !!schnell!! anzeigen lassen kann. Bis jetzt mache ich das mit 'du ordnername'. Da es aber insgesamt ca 35 Ordner mit einer Gesamtgröße von ungefähr 400GB sind, braucht das script für die Abarbeitung etwas mehr als eine Stunde...
Gibt es eine Befehl, den man statt 'du' nehmen kann? Oder vielleicht eine Variable, die solche Infos bereit hällt?
Danke schon mal für die Hilfe.
greets
jochen
ich bin auf der Suche nach einem Befehl, mit dem ich mir die komplette Größe eines Ordners und der Unterordner !!schnell!! anzeigen lassen kann. Bis jetzt mache ich das mit 'du ordnername'. Da es aber insgesamt ca 35 Ordner mit einer Gesamtgröße von ungefähr 400GB sind, braucht das script für die Abarbeitung etwas mehr als eine Stunde...
Gibt es eine Befehl, den man statt 'du' nehmen kann? Oder vielleicht eine Variable, die solche Infos bereit hällt?
Danke schon mal für die Hilfe.
greets
jochen
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
-
- Posts: 38
- Joined: 2004-03-12 06:51
Re: Script für die Ordnergröße
for x in *; do du $x -h -s; done
-
- Posts: 604
- Joined: 2002-11-20 21:32
- Location: Vaihingen und Karlsruhe
Re: Script für die Ordnergröße
Als ob das schneller wäre...
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Script für die Ordnergröße
Das Problem ist wohl auch nicht du oder die Gesamtgrösse des Verzeichnisses, sondern wohl eher die grosse Anzahl der Dateien darin. Ich denke, es macht keinen grossen Unterschied, auf welche Art ich die Summe der Einzelgrössen erfasse - Der Flaschehals ist das Auslesen der Einzelinformationen aus dem Dateisystem, und das dauert halt immer gleich lang(e).
-
- Posts: 38
- Joined: 2004-03-12 06:51
Re: Script für die Ordnergröße
Oh, da hab ich wohl die Frage nicht richtig gelesen oder falsch verstanden. ;)
-
- Posts: 218
- Joined: 2004-09-15 10:14
Re: Script für die Ordnergröße
Vielen Dank für die Antworten.
Schade eigentlich das es keinen schnelleren Befehl gibt.
Könnte es sein, das man das Problem mit einem anderen Dateisystem eingrenzen kann? Ich nutze im Moment ext3. Könnte reiser das vieleicht ein wenig beschleunigen?
greets
jochen
Schade eigentlich das es keinen schnelleren Befehl gibt.
Könnte es sein, das man das Problem mit einem anderen Dateisystem eingrenzen kann? Ich nutze im Moment ext3. Könnte reiser das vieleicht ein wenig beschleunigen?
greets
jochen
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Script für die Ordnergröße
Keine Ahnung, wieviele Dateien sind es denn?
find -type f|wc -l
find -type d|wc -l
find -type f|wc -l
find -type d|wc -l
-
- Posts: 59
- Joined: 2004-11-08 21:21
Re: Script für die Ordnergröße
@snowball
Du lieferst einfach viel zu wenig Daten:
- Für was brauchst Du die Größeninfos?
- Wie oft brauchst Du sie?
- Um welche Art von Dateien handelt es sich hauptsächlich?
- Wie oft ändern sich die Inhalte der Verzeichnisse?
tally
Du lieferst einfach viel zu wenig Daten:
- Für was brauchst Du die Größeninfos?
- Wie oft brauchst Du sie?
- Um welche Art von Dateien handelt es sich hauptsächlich?
- Wie oft ändern sich die Inhalte der Verzeichnisse?
tally
-
- Posts: 218
- Joined: 2004-09-15 10:14
Re: Script für die Ordnergröße
Code: Select all
find -type f|wc -l
Code: Select all
find -type d|wc -l
Ok, sorry, ich dachte nicht, dass das von Bedeutung ist... Aber sicher... hier sind die Infos.
Das ganze gehört zu einem Backup konzept. Mit Hilfe der Größe (und Anfangs und Endzeitpunkt) der Sicherungen wird eine Grafik erstellt, die eben auch die Größe der einzelnen Unterordner enthält. So kann man jeden Tag aktuell sehen, ob alle Server gesichert haben, oder ob es irgentwo Probleme gab. Bzw, ob sich viele Server von der Zeit her überschneiden und man die Zeiten noch optimieren kann.- Für was brauchst Du die Größeninfos?
1X pro Tag- Wie oft brauchst Du sie?
Um komlette Sicherungen anderer Server, die alle mit rsync in diesen Ordner sichern.- Um welche Art von Dateien handelt es sich hauptsächlich?
Tja, das hängt von den Servern ab. Ich schätze mal bei 400GB insgesamt... +-50GB pro Tag, aber das weiß ich erst ganz genau, wenn ich die Auswertung vernünftig hinbekommen habe :-(- Wie oft ändern sich die Inhalte der Verzeichnisse?
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Script für die Ordnergröße
Na ja, das wird nicht schneller gehen. Bei 2,5 Millionen Dateien sind das pro Stunde immer hin 750 pro Sekunde....
-
- Userprojekt
- Posts: 3247
- Joined: 2002-07-18 08:13
- Location: München
Re: Script für die Ordnergröße
Eine Möglichkeit:
Diesen Ordner auf eine eigene Partition legen und mittels df -h auslesen.
Diesen Ordner auf eine eigene Partition legen und mittels df -h auslesen.
-
- Userprojekt
- Posts: 269
- Joined: 2002-10-23 08:28
- Location: Karlsruhe
Re: Script für die Ordnergröße
Oder keine EINZELNEN Dateien rsyncen sondern erst auf den Servern ein tar(.gz) packen und dann weg damit. Wäre m.E. besser, vor allem in Verbindung mit inkrementellem Backup oder so...
-
- Posts: 59
- Joined: 2004-11-08 21:21
Re: Script für die Ordnergröße
So ganz verstehe ich das nicht. Wie erkenne ich an der Größe eines Dirs ob 'ne Sicherung geklappt hat? Oder fährst Du dann auf den gesicherten Servern auch noch ein "du" und vergleichst das dann?snowball wrote: [...]Das ganze gehört zu einem Backup konzept. Mit Hilfe der Größe (und Anfangs und Endzeitpunkt) der Sicherungen wird eine Grafik erstellt, die eben auch die Größe der einzelnen Unterordner enthält. So kann man jeden Tag aktuell sehen, ob alle Server gesichert haben, oder ob es irgentwo Probleme gab. Bzw, ob sich viele Server von der Zeit her überschneiden und man die Zeiten noch optimieren kann.- Für was brauchst Du die Größeninfos?
[...]
Statistik/Log von rsync sind interessant. Wenn es nicht sehr viele Server sind lege ich für jeden 'ne eigene iptable Regel an und werte den Traffic je Server aus.
tally
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Script für die Ordnergröße
Mit
find -ctime -1
eine Dateiliste erstellen, die alle Dateien enthält, die innerhalb der letzten 24 Stunden geändert wurden. Diese Dateien dann sichern
Evtl. geht das schneller
find -ctime -1
eine Dateiliste erstellen, die alle Dateien enthält, die innerhalb der letzten 24 Stunden geändert wurden. Diese Dateien dann sichern
Evtl. geht das schneller
-
- Posts: 218
- Joined: 2004-09-15 10:14
Re: Script für die Ordnergröße
@Alexander Newald
@olfi
@FFL
@tally
@kawfy
@Alexander Newald
Vielen Dank für die ganze Hilfe.
Jetzt werde ich schauen, was ich machen werde.
greets
Jochen
Naja, du hast wahrscheinlich recht. Ich werde mich wohl an die lange Laufzeit gewöhnen müssen.Na ja, das wird nicht schneller gehen. Bei 2,5 Millionen Dateien sind das pro Stunde immer hin 750 pro Sekunde...
@olfi
Die Idee ist gar nicht so schlecht. Werde ich mir überlegen ob das praktikabel ist. Danke für den Tipp.Diesen Ordner auf eine eigene Partition legen und mittels df -h auslesen.
@FFL
Hatte ich mir auch schon überlegt, aber das würde die Rechenleistung der einzelnen Server übersteigen. Außerdem habe ich so die Möglichkeit auch mal einzelne Dateien schnell wieder herzustellen, ohne das ich groß anfangen muss, alles erst zu entpacken.Oder keine EINZELNEN Dateien rsyncen sondern erst auf den Servern ein tar(.gz) packen und dann weg damit.
@tally
Nein. Am Anfang und Endzeitunkt der Sicherung werden die entsprechenden Zeiten In eine Datenbank geschrieben. Wenn ich dann bei der Auswertung sehen, das das Backup ca 2 Stunden gebraucht hat und 8GB auf dem Server sind, reicht mir das zumindest für die Grafische Darstellung der Sicherung. (Die Darstellung macht eine phpseite mit jpgantt).Wie erkenne ich an der Größe eines Dirs ob 'ne Sicherung geklappt hat? Oder fährst Du dann auf den gesicherten Servern auch noch ein "du" und vergleichst das dann?
@kawfy
Nein, kann es nicht, es sind keine Quotas auf dem Server installiert. Außerdem sichern die Server nicht immer als ein Benutzer pro Server, sondern immer als der User, dem die Datei auch gehört.Dein Backup-System kann doch die Quota-Daten der User abrufen, zusammen rechnen und sie anzeigen -- oder?
@Alexander Newald
Die Idee ist sehr gut, vielen Dank. Aber bis jetzt bin ich ja noch bei der Auswertung der Daten. Evtl, werde ich das Backup Konzept dann demnächst über den Haufen werfen und neu anfangen.Mit
find -ctime -1
eine Datei liste erstellen, die alle Dateien enthält, die innerhalb der letzten 24 Stunden geändert wurden.
Vielen Dank für die ganze Hilfe.
Jetzt werde ich schauen, was ich machen werde.
greets
Jochen
-
- Posts: 561
- Joined: 2003-02-01 13:14
- Location: Fuldatal
Re: Script für die Ordnergröße
Ich will dir hiermit einmal ein paar Fragen stellen, die dir nicht unbedingt zu deiner Lösung verhelfen, ich hoffe das erweitert deine Sichtweise:
Die Sicherung der Daten ist trivial, aber eine Datensicherung ist nur dann sinnvoll und verdient ihren Namen, wenn die Rücksicherung funktioniert!
Läuft deine Rücksicherung zufriedenstellend und ist sie auch einfach zu bedienen?
Kann das jemand tun, auch wenn du nicht in der 4ma bist oder sogar plötzlich verstirbst?
(kein Witz, an sowas muss man denken, ich kenne da Stories...)
Ich präferiere Amanda für das Backup der Linux Maschinen (soll auch ohne tapelaufwerk zuverlässig funktionieren, siehe http://amanda.sourceforge.net/fom-serve/cache/191.html ).
Die neuen Versionen können auch Windowsfreigaben sichern.
Die Rücksicherung ist einfach genial, funktioniert wie ftp auf der Kommandozeile - sehr beeindruckend!
Einfach Server, Partition und das Datum setzen, dann kann man sich durch die Verzeichnisse hangeln, einige Verz. oder Dateien zur Rücksicherung markieren und auf los gehts los.
Bevor du also überprüfst, ob auch alle Dateien gesichert wurden und dich in graphischen 'Spielereien' verstrickst, spiel mal die Rücksicherung durch und arbeite deine Kollegen da ein.
HTH
Die Sicherung der Daten ist trivial, aber eine Datensicherung ist nur dann sinnvoll und verdient ihren Namen, wenn die Rücksicherung funktioniert!
Läuft deine Rücksicherung zufriedenstellend und ist sie auch einfach zu bedienen?
Kann das jemand tun, auch wenn du nicht in der 4ma bist oder sogar plötzlich verstirbst?
(kein Witz, an sowas muss man denken, ich kenne da Stories...)
Ich präferiere Amanda für das Backup der Linux Maschinen (soll auch ohne tapelaufwerk zuverlässig funktionieren, siehe http://amanda.sourceforge.net/fom-serve/cache/191.html ).
Die neuen Versionen können auch Windowsfreigaben sichern.
Die Rücksicherung ist einfach genial, funktioniert wie ftp auf der Kommandozeile - sehr beeindruckend!
Einfach Server, Partition und das Datum setzen, dann kann man sich durch die Verzeichnisse hangeln, einige Verz. oder Dateien zur Rücksicherung markieren und auf los gehts los.
Bevor du also überprüfst, ob auch alle Dateien gesichert wurden und dich in graphischen 'Spielereien' verstrickst, spiel mal die Rücksicherung durch und arbeite deine Kollegen da ein.
HTH
Last edited by thorsten on 2004-11-27 14:49, edited 1 time in total.
-
- Posts: 218
- Joined: 2004-09-15 10:14
Re: Script für die Ordnergröße
Du hast schon recht mit deinen Fragen.
Ich werde mich gleich mal näher mit Amanda beschäftigen.
Nichts desto trotz, bin ich nicht der einzige Admin bei uns. Es ist immer sichergestellt das mindesten ein Admin Dienst hat, der auch weiß wie das Backup System funktioniert. Also von der Seite der Recovery ist alles geklärt.
Zu den graphischen 'Spielereien', wie du sie nennst, kann ich nur sagen: Wenn der Chef gerne jeden Tag eine aktuelle Grafik mit den Backup Zeiten hätte, muss ich mir halt auch um sowas Gedanken machen. Wie Sinnvoll das ist, lassen wir mal so im Raum stehen. Aber mal abgesehen davon, das die Idee von meinem Chef kam, finde ich so eine Ã?bersicht auch nicht schlecht, damit man auf einen Blick ein paar Wichtige Infos zum aktuellen Backup hat :oops:
greets
Jochen
Ich werde mich gleich mal näher mit Amanda beschäftigen.
Nichts desto trotz, bin ich nicht der einzige Admin bei uns. Es ist immer sichergestellt das mindesten ein Admin Dienst hat, der auch weiß wie das Backup System funktioniert. Also von der Seite der Recovery ist alles geklärt.
Zu den graphischen 'Spielereien', wie du sie nennst, kann ich nur sagen: Wenn der Chef gerne jeden Tag eine aktuelle Grafik mit den Backup Zeiten hätte, muss ich mir halt auch um sowas Gedanken machen. Wie Sinnvoll das ist, lassen wir mal so im Raum stehen. Aber mal abgesehen davon, das die Idee von meinem Chef kam, finde ich so eine Ã?bersicht auch nicht schlecht, damit man auf einen Blick ein paar Wichtige Infos zum aktuellen Backup hat :oops:
greets
Jochen
-
- Posts: 1117
- Joined: 2002-09-27 00:54
- Location: Hannover
Re: Script für die Ordnergröße
Muss nur ein Backupsatz exestieren oder mehrere?
-
- Posts: 218
- Joined: 2004-09-15 10:14
Re: Script für die Ordnergröße
Nur einer.
Jede Nacht wird in das gleiche Verzeichniss gesichert. Tagsüber wird dann das Verzeichniss auf ein Tape gesichert. So dass wir immer die letzten 14 Tage haben.
Jede Nacht wird in das gleiche Verzeichniss gesichert. Tagsüber wird dann das Verzeichniss auf ein Tape gesichert. So dass wir immer die letzten 14 Tage haben.
-
- Posts: 561
- Joined: 2003-02-01 13:14
- Location: Fuldatal
Re: Script für die Ordnergröße
Das hört sich ja schonmal ganz gut an!
Dann könntest du ja u.U. amanda für die tägliche Sicherung auf das Band (wohl eher auf den Roboter ;-) nehmen.
Die 'graphischen Spielereien' sind natürlich wichtig, wenn sie dein Chef sehen will - ohne Brötchengeber macht die beste Backupstrategie keinen Sinn :lol:
Na dann viel Spass mit diesem riesigen Haufen an Dateien.
u.U. kannst du das Zählen der Ordnergrössen mit dem entsprechenden Dateisystem beschleungen. Ich denke da an Reiserfs oder ext3 mit der htree-Option: http://www.kubieziel.de/computer/hallow ... .html#ext3
Halt uns mal auf dem Laufenden!
Dann könntest du ja u.U. amanda für die tägliche Sicherung auf das Band (wohl eher auf den Roboter ;-) nehmen.
Die 'graphischen Spielereien' sind natürlich wichtig, wenn sie dein Chef sehen will - ohne Brötchengeber macht die beste Backupstrategie keinen Sinn :lol:
Na dann viel Spass mit diesem riesigen Haufen an Dateien.
u.U. kannst du das Zählen der Ordnergrössen mit dem entsprechenden Dateisystem beschleungen. Ich denke da an Reiserfs oder ext3 mit der htree-Option: http://www.kubieziel.de/computer/hallow ... .html#ext3
Halt uns mal auf dem Laufenden!
-
- Posts: 307
- Joined: 2002-08-08 23:45
ls -l pro Verzeichnis
:idea: Mache pro Tag folgendes:
Steige mit find(1) die Verzeichnisse durch ("find . -type d"), stelle mit "ls -l |head 1" bzw. einem Skript fest, wie groß die Dateien dort (und nur dort) sind und schreibe das in ein dotfile im Verzeichnis. Mit einem "nice" oder "sleep 1" im Skript kannst du den ganzen Vorgang lastmäßig abschwächen. Das erzeugt dann weniger Last als ein fettes du(1). Anschließend summiere die Zahlen aus den dotfiles auf.
Am Ende steht in jedem Verzeichnis eine Datei .checkdirsize mit dem Platzverbrauch des Verzeichnisses ohne seine Unterverzeichnisse. Die Zahlen addierst du dann mit einem anderen Skript oder deiner Backup-Anwendung.
Steige mit find(1) die Verzeichnisse durch ("find . -type d"), stelle mit "ls -l |head 1" bzw. einem Skript fest, wie groß die Dateien dort (und nur dort) sind und schreibe das in ein dotfile im Verzeichnis. Mit einem "nice" oder "sleep 1" im Skript kannst du den ganzen Vorgang lastmäßig abschwächen. Das erzeugt dann weniger Last als ein fettes du(1). Anschließend summiere die Zahlen aus den dotfiles auf.
Code: Select all
[Skript $HOME/bin/checkdirsize]
#!/bin/sh
ls -l $1| head -1 | cut -f 2 -d > $1/.checkdirsize
Code: Select all
[dein Cronjob für 03:05 Uhr tgl., /home/bla/bla kommt ins Backup]
THISTOBACKUP=/home/bla/bla
5 3 * * * /usr/bin/find $THISTOBACKUP -type d -exec $HOME/bin/checkdirsize {} ;