Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#1 Le 05/10/2012, à 12:30

Rosell

Vérification de l'intégrité de copies ou sauvegardes

Bonjour à tous

Tout d'abord, je précise que je suis sous Mac Os X.
Mais je souhaite utiliser le terminal pour effectuer cette tache.
C'est pourquoi je suis venu poster sur ce forum...

Je souhaite réaliser plusieurs copies et sauvegardes de mes disques externes.
Sur ces disques, il y a plusieurs années de vidéos et photos auxquelles je tiens tout particulièrement.

J'ai effectué mes copies, mais j'aimerais vérifier l'intégrité des fichiers copiés.
Histoire de ne pas avoir de mauvaise surprise lorsque je voudrais utiliser ces fichiers.

Pour cela, j'ai pensé faire un cheksum de chaque fichier et comparer les md5 de mes fichiers "source" avec ceux des fichiers "copiés".
J'ai essayé une commande trouvée sur le net:

find /Volumes/MEDIAS_2/01_Photos | xargs -I{} md5 {} >> /Users/moi/Desktop/md5_dest.chk

Mais cette commande s'arrête avant le scan complet du dossier.

Quelqu'un a-t-il une idée pour réaliser ce test sur le dossier complet????

Si vous avez une autre idée, une autre commande, je suis preneur...

Hors ligne

#2 Le 05/10/2012, à 13:13

credenhill

Re : Vérification de l'intégrité de copies ou sauvegardes

hello
ne traiter que les fichiers réguliers, pas les répertoires, fifo, liens, etc

find /Volumes/MEDIAS_2/01_Photos -type f | xargs -I{} md5 {} >> /Users/moi/Desktop/md5_dest.chk

En ligne

#3 Le 05/10/2012, à 16:37

Rosell

Re : Vérification de l'intégrité de copies ou sauvegardes

Le fait de préciser -type f fait que je n'ai pas de message dans la console pour me préciser que ceci ou cela est un répertoire.

Mais le traitement s'arrête au même endroit lors de mes tests.

Hors ligne

#4 Le 05/10/2012, à 22:11

ssdg

Re : Vérification de l'intégrité de copies ou sauvegardes

Ce qui me perturbe c'est que tu dis que ça s'arrête mais tu ne dis pas comment.

Est-ce que tu en es sur?
Est-ce toujours au même endroit?
Y a t'il un message d'erreur?
As tu assez d'espace pour stocker la liste sur la partition de ton bureau?


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#5 Le 06/10/2012, à 04:57

pingouinux

Re : Vérification de l'intégrité de copies ou sauvegardes

Bonjour,
S'il y a de gros fichiers, la commande peut prendre un "certain" temps, et donner l'impression que plus rien ne se passe. Je viens de faire un test : 7mn pour un fichier de 32Go.

Hors ligne

#6 Le 06/10/2012, à 07:44

credenhill

Re : Vérification de l'intégrité de copies ou sauvegardes

exécuter

xargs -tI{}

pour voir où il bloque

En ligne

#7 Le 06/10/2012, à 08:45

Zakhar

Re : Vérification de l'intégrité de copies ou sauvegardes

Cette façon de faire n'a d'intérêt que si tu as comptes faire plusieurs sauvegardes et les vérifier toutes par rapport à l'original.

Dans ce cas, effectivement, tu vas gagner la lecture de la source à chaque vérification d'une nouvelle sauvegarde.

Si tu as simplement une seule sauvegarde, il y a bien plus simple et aussi plus rapide :

diff -rs /path/to/source /path/to/backup

S'il y a beaucoup de fichier tu peux envoyer le résultat vers une sortie sur fichier (simplement ou via tee) histoire de ne pas avoir à rester devant l'écran (le nombre de lignes où on peut "remonter" dans le terminal est limité -paramétrable-).

Cette façon de faire réalise :
- lecture source
- lecture backup
- comparaison simple

Ta façon réalise :
- lecture source
- lecture backup
- calcul checksum source
- calcul checksum backup
- comparaison checksums

Ta "méthode" est donc plus longue pour une seule sauvegarde.

Ensuite, à partir de la deuxième sauvegarde, tu gagnes du temps puisque tu as déjà la checksum source, et donc tu économises la lecture + checksum source.

Tu as aussi d'autres méthodes pour faire ce que tu souhaites, c'est d'utiliser rsync
Celui-ci dispose d'une option pour vérifier les checksum source/destination, en outre il pourra mettre à jour ton backup si toutefois la copie n'était pas à l'identique.

Dernière modification par Zakhar (Le 06/10/2012, à 08:49)


"A computer is like air conditioning: it becomes useless when you open windows." (Linus Torvald)

Hors ligne

#8 Le 08/10/2012, à 12:56

Rosell

Re : Vérification de l'intégrité de copies ou sauvegardes

Bonjour à tous

En déplacement tout le WE, je prends aujourd'hui connaissance de vos réponses et je me réjouis de l'aide que vous souhaiter m'accorder...

ssdg a écrit :

Ce qui me perturbe c'est que tu dis que ça s'arrête mais tu ne dis pas comment.

Est-ce que tu en es sur?

Oui.
Retour sur l'invite de commandes

ssdg a écrit :

Est-ce toujours au même endroit?

La commande ne s'intéresse pas qu'x fichiers.
Lorsque je lance la commande pour scanner mon Bureau, j'obtiens 64 fichiers traités.
Lorsque je lance la commande pour scanner mon dossier Documents, j'obtiens 9 fichiers traités.

ssdg a écrit :

Y a t'il un message d'erreur?

Oui: "xargs: unterminated quote"

ssdg a écrit :

As tu assez d'espace pour stocker la liste sur la partition de ton bureau?

Oui, aucun problème à ce niveau là, une trentaine de Go de dispo.

Hors ligne

#9 Le 08/10/2012, à 12:58

Rosell

Re : Vérification de l'intégrité de copies ou sauvegardes

pingouinux a écrit :

Bonjour,
S'il y a de gros fichiers, la commande peut prendre un "certain" temps, et donner l'impression que plus rien ne se passe. Je viens de faire un test : 7mn pour un fichier de 32Go.

Pour l'instant mes tests se font sur des dossiers ne contenant pas de gros fichier.
Et le message d'erreur semble indiquer un problème autre...

Hors ligne

#10 Le 08/10/2012, à 13:08

Rosell

Re : Vérification de l'intégrité de copies ou sauvegardes

@Zakhar

Ayant plusieurs copies à faire sur des supports externes,
j'aimerais faire un cheksum de mon dossier source puis, le comparer avec ceux de mes dossiers de destination.

De plus, dans ton exemple:

Si tu as simplement une seule sauvegarde, il y a bien plus simple et aussi plus rapide :

diff -rs /path/to/source /path/to/backup

S'il y a beaucoup de fichier tu peux envoyer le résultat vers une sortie sur fichier (simplement ou via tee) histoire de ne pas avoir à rester devant l'écran (le nombre de lignes où on peut "remonter" dans le terminal est limité -paramétrable-).

Cette façon de faire réalise :
- lecture source
- lecture backup
- comparaison simple

La comparaison est-elle une comparaison de cheksum ou une comparaison de fichier plus classique (nom de fichier, dates)?

Hors ligne

#11 Le 08/10/2012, à 13:32

ssdg

Re : Vérification de l'intégrité de copies ou sauvegardes

Pour diff, c'est du "bit à bit", c'est à dire que s'il te dit que c'est les mêmes, les fichiers sont exactement les mêmes.

Pour ce que te dit le message de retour, ça veut dire en gros que la commande qu'il essaie d'executer ne correspond pas à la syntaxe attendue.

Certains caractères sont utilisés pour déterminer "comment" lancer la commande. Par exemple:
echo "bla bla" n'est pas la même chose que echo bla bla . Dans le cadre de la commande "echo", le résultat est le même (il affiche "bla bla"). Mais dans le premier cas, le système passe un paramètre, dans le second deux.

Dans ton cas, si un fichier s'appelle mon"fichier le système ne considère pas le " comme part du nom du fichier mais comme un caractère spécial.

Il faudrait connaitre le fichier (et le caractère) qui "casse" ton script et soit le renommer, soit trouver un moyen d'échapper correctement le caractère qui ne convient pas.


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

#12 Le 08/10/2012, à 19:31

Rosell

Re : Vérification de l'intégrité de copies ou sauvegardes

ssdg a écrit :

Pour diff, c'est du "bit à bit", c'est à dire que s'il te dit que c'est les mêmes, les fichiers sont exactement les mêmes.

Pour comparer 2 dossiers, c'est peut-être plus intéressant que le cheksum alors???

ssdg a écrit :

Pour ce que te dit le message de retour, ça veut dire en gros que la commande qu'il essaie d'executer ne correspond pas à la syntaxe attendue.

Certains caractères sont utilisés pour déterminer "comment" lancer la commande. Par exemple:
echo "bla bla" n'est pas la même chose que echo bla bla . Dans le cadre de la commande "echo", le résultat est le même (il affiche "bla bla"). Mais dans le premier cas, le système passe un paramètre, dans le second deux.

Dans ton cas, si un fichier s'appelle mon"fichier le système ne considère pas le " comme part du nom du fichier mais comme un caractère spécial.

Il faudrait connaitre le fichier (et le caractère) qui "casse" ton script et soit le renommer, soit trouver un moyen d'échapper correctement le caractère qui ne convient pas.

Bingo!!!!!
Les fichiers ou dossiers qui cassent mon script contiennent tous un apostrophe!!!!!
Y a-t-il un moyen de passer outre ce problème?

Pour la vérification de l'intégrité de mes copies, quels sont vos avis concernant le match diff vs cheksum???

Hors ligne

#13 Le 09/10/2012, à 10:50

ssdg

Re : Vérification de l'intégrité de copies ou sauvegardes

Je n'ai jamais vraiment résolu ce problème (préférant renommer mes fichiers). Mais je suis intéressé par une solution/un lien vers un tuto si quelqu'un passe par ce fil.

Sinon, pour ma part, je préfère diff à md5, il sera plus précis et pas forcément plus lent. (surtout si les fichiers à comparer sont sur deux disques différents) md5 est soumis à des "collisions"[1].

ajoutons, que (sauf erreur de ma part, en général, j'utilise meld) un simple "diff repSource repDestination" fait le parcours des sous dossiers tout seul.


[1] en gros deux fichiers différents peuvent partager le même hash md5. (ça se comprends en pensant qu'il y a 2^32 valeurs possible pour un md5 et une infinité de valeurs possibles pour le contenu d'un fichier à partir du moment ou tu as 2^32+1 fichiers tu es sur d'avoir au moins 2 retours de md5 égaux.)


s'il n'y a pas de solution, c'est qu'il n'y a pas de problème... ou pas.

Hors ligne

Haut de page ↑