Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/10/2011, à 14:20

obibann

[Résolu] Générer rapidement un très grand nombre de fichiers

Bonjour,

Pour tester la robustesse d'un script qui met à jour les droits sur un répertoire et son contenu (chmod -R) je souhaiterais me retrouver en situation, c'est à dire générer entre 500 000 et 1 000 000 de fichiers dans ce répertoire.

J'ai essayer de copier en boucle un fichier mais cette méthode s'avère trop longue :

yes | while true ; do key=`cat /dev/urandom| tr -dc 'a-zA-Z0-9' | fold -w 10| head -n 1` ; cp -f file_test.bin "file_$key.bin" ; done

(avec file_test.bin ne pesant que quelques Ko pour évier de saturer)

Auriez-vous une astuce pour réaliser ceci ?

Merci.

Dernière modification par obibann (Le 05/10/2011, à 14:48)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#2 Le 05/10/2011, à 14:26

redo_fr

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Salut,

une idée comme ça (pas testé, en fait ^_^)

for i in `seq 1 1000`
do
    for j in `seq 1 1000`
    do
        for k in `seq 1 1000`
        do
            touch $i_$j_$k
        done
    done
done

ça donne quoi en vitesse?

Dernière modification par redo_fr (Le 05/10/2011, à 14:30)


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#3 Le 05/10/2011, à 14:35

obibann

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

C'est très rapide !! Mais les fichiers sont vides (c'est important pour tester du chmod ?).

Ça reste encore très long pour atteindre les 500 000 smile

Edit : ah oui et si j’interromps pour tester, ba il reprend depuis le début, en "retouchant" les fichiers ><

Dernière modification par obibann (Le 05/10/2011, à 14:38)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#4 Le 05/10/2011, à 14:43

redo_fr

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Une autre méthode, plus "classe" smile

dd if=/dev/zero of=grosFichier bs=1k count=10000
split -a 6 -b 10 grosFichier

Tu peux modifier le "count=10000" par plus gros ou "-b 10" par plus petit pour avoir plus de fichiers découpés smile

Dernière modification par redo_fr (Le 05/10/2011, à 14:56)


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#5 Le 05/10/2011, à 14:48

obibann

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Pas con du tout !!! C'est ultra rapide, mais le truc de fou quoi !! big_smile

Pourquoi j'y ai pas pensé ^^

Bon ba résolu smile Merci beaucoup redo_fr cool

Edit : boarf, 500 000 fichier en 3 minutes, facile wink

Dernière modification par obibann (Le 05/10/2011, à 14:50)


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#6 Le 05/10/2011, à 14:59

redo_fr

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Un peu lente ta machine tongue

Ici, au boulot (chut...), j'ai généré 100 000 fichiers en ... 7 secondes (soit un peu plus de 1 min pour 1 million de fichiers big_smile )

Fais attention à ne pas "pêter" tes inodes... smile


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#7 Le 05/10/2011, à 16:18

obibann

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Pas mal !!

Mais là j'ai testé sur une machine virtuelle mono cpu en ext3.
Sur le serveur je pense que je te bas big_smile


Ubuntu 16.04
Avec Windows, on fait ce qu'on peut... Avec Linux, on fait ce qu'on veut !! :p

Hors ligne

#8 Le 06/10/2011, à 13:48

ehmicky

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Wow, vous vous cassez la tête big_smile

touch {1..100000}

Dernière modification par ehmicky (Le 06/10/2011, à 13:48)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#9 Le 06/10/2011, à 13:58

redo_fr

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Sauf que...

touch {1..500000}
-bash: /usr/bin/touch: Liste d'arguments trop longue

smile

Dernière modification par redo_fr (Le 06/10/2011, à 13:58)


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#10 Le 06/10/2011, à 14:08

ehmicky

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Bien vu smile, on peut alors aussi faire :

for i in {1..500000} ; do touch $i ; done

ou (peut-être plus performant, pas testé) :

for i in {a..z} ; do touch {1..300000}$i ; done

Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#11 Le 06/10/2011, à 14:13

redo_fr

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

pas assez rapide, petit scarabé ^_^

Regardes mon premier post et le suivant.d'obibann smile


Il n'y a pas de mauvais outils, il n'y a que de mauvais ouvriers
- papy -
Personnellement, je crois que faire des procès est un signe que les affaires vont mal. Je ne dis pas que Microsoft va mal, ce n'est qu'un signe, pas un indicateur...
- Linus Torvalds -

Hors ligne

#12 Le 06/10/2011, à 14:31

ehmicky

Re : [Résolu] Générer rapidement un très grand nombre de fichiers

Peut-être pas plus rapide que le split (pas testé), mais en tout cas sûrement plus que seq smile


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne