Veröffentlicht am

Dropbox Synchronisation beschleunigen mit Linux

Vielleicht kennen es einige von euch. Dropbox ist super nützlich, und wenn man sich erst einmal an die Vorzüge von Dropbox gewöhnt hat, dann möchte man am liebsten alle Projekte in seinem Dropbox Ordner speichern. Problematisch ist es, wenn man Dropbox in einem neuen Betriebssystem installieren will, dann kann je nach Größe des Dropbox Ordners die Synchronisation ganz schön lange dauern. Was mir immer wieder auffällt ist es aber vielmehr die Masse an kleinen Dateien die den Vorgang verlangsamen, als dass es einige wenige große Dateien tun.

Pareto Prinzip in Dropbox

Wer Pareto kennt, weiss worauf ich hinaus will.

  1. 20% der Ordner belegen 80% des Speicherplatzes, während 80% der Ordner lediglich 20% des Platzes belegen.
  2. 20% der Ordner beinhalten 80% der Dateien, während 80% der Ordner lediglich 20% der Dateien beinhalten.

Ausmisten nach dem Pareto Prinzip

Alle Ordner jetzt einzeln zu analysieren würde zu lange Zeit benötigen, also beschränken wir uns auf die Ordner die die meisten Dateien beinhalten. Hierzu habe ich eine Hilfsfunktion in Bash geschrieben, welche mir alle Ordner mit der Anzahl ihrer enthaltenen Dateien auflistet.

function numberOfFiles(){
        for D in `find . -maxdepth 1 -type d`
        do
                echo -n "$D "
                find $D -type f|wc -l
        done

}

Diese Funktion kannst du am besten in deiner .bashrc Datei speichern, so dass Sie jederzeit systemweit verfügbar ist.

Nun kannst du in jedem beliebigen Ordner den Befehl numberOfFiles aufrufen und erhälst die gewünschte Auflistung. Aufgelistet werden nur die direkten Unterordner des aktuellen Ordners, die Zahl der enthaltenen Dateien wurde jedoch rekursiv ermittelt, das heisst es wurden alle Dateien im jeweiligen Ordner als auch die Dateien in den Unterordnern (beliebiger Tiefe) einbezogen.

So kann man sich gezielt nur mit den Ordnern befassen die eine große Menge an Dateien beherbergen.

z.B. kannst du entsprechende Ordner für den Fall, dass du sie eher selten nutzt als Zip Datei komprimieren und den Ordner im Anschluss löschen.

Ich habe somit die Anzahl meiner Dateien in der Dropbox von 50000 auf 5800 reduziert. Die Synchronisation auf einen neuen System erfolgt nun erheblich schneller.

Große Ordner ausfindig machen

Möchtest du auch Große Ordner ausfindig machen und somit Speicherfresser evtl von deiner Dropbox auf deine Festplatte zu verschieben so reicht unter Linux ein Einzeiler.

du -h . -d 1 | sort -h

Hast du eine bessere und einfachere Lösung? Hast du Verbesserungsvorschläge? Dann hinterlasse mir doch ein Kommentar, ich freue mich immer dazulernen zu dürfen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Ich akzeptiere