Ich habe eine einfache Suche Befehl, die durch Millionen von Dateien auf einem Server gehen müssen und einige mit einem gegebenen Suffix zu finden. Die Dateien werden im Laufe der Zeit sehr häufig geschrieben und gelöscht. Ich frage mich nur, ob es einen Weg gibt, um schneller zu finden. Die Verwendung von locate kommt nicht in Frage, da eine Datenbank für das Lokalisieren sehr teuer ist.schnelle Shell finden
find /myDirWithThausandsofDirectories/ -name *.suffix
Auf einigen Servern dauert dieser Befehl Tage!
Irgendwelche Gedanken?
Danke,
Das ist alles, was Sie tun können. find wird die Verzeichnisse für Sie durchlaufen, aber das Durchlaufen 'großer' Verzeichnisse auf einem Unix-System ist natürlich langsam, weil die Verzeichniseinträge gespeichert sind. –
das Problem auflösen? 'finde /myDirWith../dira* -name * .suf & finde /myDirWith../dirb* -name * .suf .... &' Schau auch 'gnu-parallel' oder' xargs -n' Gut Glück! – shellter
Vielleicht ist es gut, etwas anderes zu haben als Millionen von Dateien, z. GDBM-Datenbank oder "relationale" Datenbanken wie MySQL oder PostGresQL, oder noSQL Dinge wie mangodb. –