Pages : 1
#1 Le 13/03/2011, à 10:16
- vivi___
Commande du ou similaire
Bonjour,
Après avoir copier des données, j'aime bien verifier que tout c'est bien déroulé.
Pour cela je fais une petite verification avec la commande du pour comparer la quantité de données originale et copiée.
Or il se trouve que quelque fois la commande du ne donne pas le même résultat...
Est-ce que les données ont été mal recopiée ou le fait qu'il s'agit d'un système de fichier différent pour les 2 exemplaire?
Dans ce cas, comment effectuer la verification?
Hors ligne
#2 Le 13/03/2011, à 14:34
- FRUiT
Re : Commande du ou similaire
ou le fait qu'il s'agit d'un système de fichier différent pour les 2 exemplaire?
C'est bien ça.
Chez moi il arrive même que du « échoue » ponctuellement et me renvoie une taille de 0ko...
Dernière modification par FRUiT (Le 13/03/2011, à 14:35)
Neon Suite by FRUiT (kde4.6) [url]http://[Merci de relire les règles]/yzm7cee[/url]
"Pour la carotte, le lapin est la plus parfaite incarnation du mal" (R. Sheckley)
clean
Hors ligne
#3 Le 13/03/2011, à 14:52
- ehmicky
Re : Commande du ou similaire
Si c'est un système de fichier, tu peux avoir des résultats différents. Par exemple la taille des fichiers non-réguliers peut varier : par exemple les répertoires font 4Ko sur ext3, 64Ko sur FAT32, ... J'imagine aussi que les questions de taille apparente/taille allouée peuvent varier aussi ?
Sinon, si ton but est de vérifier l'intégrité, pourquoi ne pas utiliser des outils prévus pour, comme un checksum récursif ou un :
diff -r DIR1 DIR2
Dernière modification par ehmicky (Le 13/03/2011, à 14:53)
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
#4 Le 13/03/2011, à 14:53
- johndo
Re : Commande du ou similaire
Tu peux vérifier en calculant un checksum qui normalement est indépendant du FS
Hors ligne
#5 Le 13/03/2011, à 15:12
- vivi___
Re : Commande du ou similaire
Tu peux vérifier en calculant un checksum qui normalement est indépendant du FS
Intéressant, comment calculer ce checksum?
Est-ce que la commande diff est adapté pour des quantités de données très grandes, plusieurs Go? Je veux dire du point de vue du temps de vérification?
Merci
Dernière modification par vivi___ (Le 13/03/2011, à 15:17)
Hors ligne
#6 Le 13/03/2011, à 15:34
- johndo
Re : Commande du ou similaire
Intéressant, comment calculer ce checksum?
voilà qui devrait faire l'affaire :
diff <(find dossier_1 -type f -exec md5sum {} \;|sed '@dossier_1@@'|sort) <(find dossier_2 -type f -exec md5sum {} \;|sed '@dossier_2@@'|sort)
Hors ligne
#7 Le 13/03/2011, à 15:52
- aduxas
Re : Commande du ou similaire
Quelle était ta commande de copie? As-tu copié des liens symboliques?
Hors ligne
#8 Le 13/03/2011, à 16:02
- vivi___
Re : Commande du ou similaire
Quelle était ta commande de copie? As-tu copié des liens symboliques?
C'est une copie toute bête, copier, coller de près de 200Go. La copie c'est un peu long, j'aimerai bien que la vérification soit plus courte.
la commande diff prend beaucoup de temps j'ai l'impression
Hors ligne
#9 Le 13/03/2011, à 16:15
- aduxas
Re : Commande du ou similaire
J'imagine qu'un checksum de 200 Go, ça prend du temps. Je suppose qu'il faut lire tout le bazar pour faire un checksum. Tu pourrais comparer le résultat de 'find -printf' où l'impression est limitée à la taille.
Dernière modification par aduxas (Le 13/03/2011, à 16:15)
Hors ligne
#10 Le 13/03/2011, à 16:27
- aduxas
Re : Commande du ou similaire
En fait, en reprenant l'idée de johndo:
diff <(ls -Rs dossier_1 | sed 's/dossier_1//') <(ls -Rs dossier_2 | sed 's/dossier_2//')
EDIT: filtre sed rajouté
Dernière modification par aduxas (Le 13/03/2011, à 16:32)
Hors ligne
#11 Le 13/03/2011, à 16:58
- ehmicky
Re : Commande du ou similaire
Ca prend 35 secondes sur mon téléphone de comparer /home et / ainsi, et 0.016s avec diff -r.
diff -r est simple et ne te donnera pas de surprise en cas de présence de symlinks, named pipes, etc. contrairement à find -type f, et simplement donnera le résultat juste.
Si vraiment les performances sont si cruciales, regarde sur le net les différents outils faisant des checksums récursifs, ce qui sera plus performant et simple que des longues chaines de pipes.
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
#12 Le 13/03/2011, à 18:09
- aduxas
Re : Commande du ou similaire
Entièrement d'accord, ehmicky, 'diff -r' est le bon outil ici,
Hors ligne