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

Re: parcours de millions de fichiers



Bonjour à tous les utilisateurs et développeurs de Debian :

Le mercredi 8 octobre 2014 à 17:03, admini <admini@freeatome.com> a écrit :
> je dois parcourir, de façon resursive, pas mal de millions (25M) de
> fichiers pour trouver tous les owners de tous les fichiers.

25 millions de fichiers !! J'ai bien cru halluciner... o_O

Travailles-tu sur un - très gros - serveur de fichiers ?

> j'ai d'abord fait une expérience sur seulement 7Millions, avec
> 
> find .  -type d > listdir
> 
> ca a pris 30minutes
> 
> puis
> 
> while read i ; do stat -c '%n %U %G' $i/* ;done<listdir > listowner
> 
> ca a pris 78 minutes.

J'ai tenté l'expérience mais sur l'ensemble de l'arborescence donc avec la 
commande "find /  -type d > listdir" puis j'ai passé ta seconde commande.

Je n'ai pas rigoureusement chronométré mais ça m'a pris certainement moins de 
5 min pour chacune des deux commandes.

Je ne sais pas quelle est la configuration matérielle de ta machine, mais, pour 
ton information, mon ordinateur (de bureau) possède, brièvement, un processeur 
dual-core Athlon 64 bits à 3 GHz, une mémoire centrale DDR3 de 8 Go à 800 MHz 
et 2 disques durs Western Digital VelociRaptor SATA2 de 1 To à 10'000 tr/min 
chacun.

Juste par curiosité, peux-tu nous dire combien pèsent tes deux fichiers listdir 
et listowner (qui doivent contenir les informations sur les quelques 7 
millions de fichiers) ?

Chez moi, mon listdir contient prés de 20'000 lignes et pèse prés de 660 ko, 
mon listowner approximativement 250'000 lignes et 15 Mo !!

> y a t-il un autre moyen plus économique vis à vis du stockage et du
> système ( CPU mémoire) de faire de telles choses, je vais le tester
> demain sur un lot de 7 Millions de fichiers.

Je n'ai pas de réponse(s) toute(s) faite(s) à te proposer - d'autant que mes 
connaissances au niveau de la ligne de commande restent bien limitées - mais 
as-tu pensé à regarder du coté des commandes 'ls', 'sed' voire 'awk' ?

Cordialement et à bientôt,

Stéphane.


Reply to: