Sauvegarde et copie, comment savoir quelle est une "bonne" version de fichier?

Démarré par sebs, Février 26, 2018, 17:40:23

« précédent - suivant »

sebs

Question technique sur sauvegarde de fichiers, et intégrité.
Je suis sous windows, mais je poste en "général", je me dis que ça peut servir à d'autres  ;)

Je fais régulièrement des sauvegardes, avec FreeFileSync pour ce qui est des fichiers de données.
Il y a des gros fichiers, vidéos, que j'ai sauvés sur un disque différent du disque de backup (c'est un "ancien" disque de données).

Je vais copier maintenant ces vidéos sur le disque "normal", après le ménage des versions "de travail" sur l'ordi.

Pour être sûr que tout est bon, j'ai relancé une comparaison cette fois en mode "contenu de fichier" et pas "date et taille de fichier".
Or, il y a des différences sur quelques fichiers. Et le plus bizarre, c'est qu'après avoir mis à jour 2 fichiers, je relance la comparaison (qui prend un certain temps, ça concerne environ 150Go), il me sort d'autres différences que celles du départ  ???

D'où mon interrogation: comment savoir quelle est la "bonne" version d'un fichier, y a t'il un moyen, en particulier ici pour des fichiers mp4, de vérifier une certaine intégrité?
Mes questionnements sur les différences:
- ça peut être mon disque d'ordi qui a eu un bug, ou bien le disque de sauvegarde (j'avais lu qu'un disque n'est jamais fiable à 100%)
- ça peut être une erreur lors de la copie? Sous windows, la copie/comparaison par usb est-elle fiable à 100%?

NB: dernièrement, sur mon disque de musique où je mets mes CDs rippés en flacs, j'ai eu des erreurs, avec des fichiers perdus (la vérification des erreurs m'a transformé les fichiers avec des noms tordus...). Pour des fichiers de musique, si ce n'est plus intègre, je peux à la limite les ouvrir et regarder la tête de la forme d'onde, mais pour des fichiers mp4, là c'est plus compliqué  :o

- Au niveau SMART, ça dit que les paramètres sont considérés comme encore "bon" pour tous mes disques (internes et usb), mais ça n'a pas empêché d'avoir ces cas foireux sur le dernier disque usb mentionné...

Merci d'avance pour vos lumières  ;) :-*

John Lloyd

Ma (très) modeste manière de sauvegarder. Chaque fois que j'enregistre un nouveau fichier ou un nouveau dossier, je fais un Checksum avec Exacfile. Puis je copie les différents fichiers, dossiers sur mes différents disques durs. Si il y a une différence entre les fichiers copiés, je me réfère au fichier de Checksum initial pour déterminer lequel est le bon et lesquels sont corrompus.

SeSy

Cela m'est arrivé il y a quelques années. Je n'ai pas vraiment trouvé de solution.
Ce que j'ai fait : jamais pris un troisième disque. Sur ce disque, j'ai copié deux fois chaque fichier des disques initiaux. J'ai comparé deux à deux. Je me suis aperçu de les deux copie d'un disque étaient identiques, les deux de l'autre différentes. J'en ai déduit le disque HS. mais j'ai tout de même vérifié grossièrement que les fichiers sensés etre erronés l'étaient bien (comparaison bon disque - mauvais disque). 
J'ai trouvé qu'il était plus simple de vérifier l'existence d'une erreur que sa non existence.
Sur fond noir...

egtegt²

Normalement, c'est rarissime qu'un fichier soit copié sans erreur et qu'il soit corrompu. J'ai pour exemple une migration d'environ 4 Po (4000 To) chez un client sans aucune erreur. Ça n'est pas tout à fait comparable car c'est sur du matériel qui n'a pas grand chose à voir avec un disque SATA grand public, mais c'est pour donner un exemple.

Sinon, effectivement, calculer le checksum est le plus fiable (en fait pas tout à fait, une comparaison bit à bit l'est plus mais la différence est tellement minime qu'on peut l'ignorer), mais c'est très lourd en terme de temps de calcul.

Pour ce qui me concerne, sur 50000 photos que j'ai déplacées plusieurs fois d'un disque à l'autre, j'ai 1 ou 2 exemples de fichier corrompu, mais je n'ai aucune preuve qu'il s'agit bien d'un problème lié à la copie.

sebs

Merci pour vos réponses, je viens de lancer ExactFile pour l'exemple des fichiers vidéos.

Il faudrait que je trouve une solution plus automatisée si je veux faire cela pour tous mes fichiers, car c'est trop de boulot de le lancer à la main pour chaque nouveau fichier ou dossier. Il faut que je creuse, mais dans ExactFile il n'y a en tout cas pas d'option par défaut qui calcule le checksum seulement pour les nouveaux fichiers.

baséli

Citation de: egtegt² le Février 27, 2018, 10:37:16
Normalement, c'est rarissime qu'un fichier soit copié sans erreur et qu'il soit corrompu.

Ben ouais, s'il n'y a pas d'erreur, il n'est pas corrompu, forcément.

(pas pu résister)

Citation de: egtegt² le Février 27, 2018, 10:37:16
Sinon, effectivement, calculer le checksum est le plus fiable (en fait pas tout à fait, une comparaison bit à bit l'est plus mais la différence est tellement minime qu'on peut l'ignorer), mais c'est très lourd en terme de temps de calcul.

C'est surtout utile si on a plusieurs comparaisons à faire avec plusieurs copies décalées dans le temps. On ne recalcule le checksum que pour les fichiers qui ont été modifiés depuis la dernière copie.

Cependant je me souviens avoir discuté de cela il y a longtemps avec John Lloyd, cette précaution me parait largement superflue pour une simple opération de copie. Les mécanismes mis en jeu lors de la copie par l'OS et les protocoles de transfert contiennent déjà ces précautions élémentaires, s'assurer que ce que l'on a copié/transféré est bien ce que l'on volait copier/transférer. Et c'est bien ce que tu dis  ;D

Par contre, si on veut s'assurer de l'intégrité des données dans le temps (genre un rayon cosmique qui vient modifier quelques bits sur le disque dur ou dans le SSD sans que par miracle les différentes vérifications qui sont faites par le file system ne détectent quoi que ce soit), ça peut valoir le coup. Mais comme on ne pourra pas reconstruire les données perdues, hein, ça nous fait une belle jambe.

LA bonne solution est comme toujours d'avoir plusieurs backups historisés (et pas de simples copies à l'instant T) en permanence et en des endroits différents. Tant qu'à être parano, autant ne pas mégoter sur la solution et prendre LA bonne sans faire de raccourcis méthodologiques.

egtegt²

En théorie, une sauvegarde idéale implique
- Plusieurs copies
- Dans des emplacements différents
- Sur des supports différents
- Faites avec des moyens de copie différents

Dans les faites, le premier point est souvent réalisé, le second un peu moins, le troisième rarement et le quatrième très rarement.

Pour ce qui me concerne, je répond aux 3 premiers grâce à Onedrive, pas au dernier puisque la copie de base est faite avec l'explorateur windows, les autres en découlent, donc si l'explorateur est buggé et me corrompt les fichiers, c'est foutu.

Mais bon, vu l'importance relative de mes données et la fiabilité de l'explorateur Windows, c'est satisfaisant pour moi.

John Lloyd

J'avais vu chez Sinology les systèmes de fichiers Btrfs qui semblent corriger les erreurs automatiquement dans les systèmes RAID. A savoir si cela est vraiment efficace...

sebs

Bon bin là, les checksums ont été calculés, j'ai 2 fichiers différents.
Donc la question métaphysique: je garde quelle version? Y a t'il un moyen de savoir quel fichier (c'est des mp4) est intègre sur les 2 versions?

John Lloyd

À mon avis, celle qui correspond aux Checksums calculés initialement, avant de copier les fichiers. Pour les photos, il existe un soft Imageverifier qui permet de vérifier l'intégrité des fichiers photos (JPEG, RAW, TIFF). Il y a peut-être ce type de logiciel pour vérifier les mp4.

baséli

Citation de: sebs le Février 27, 2018, 18:15:18
Bon bin là, les checksums ont été calculés, j'ai 2 fichiers différents.
Donc la question métaphysique: je garde quelle version? Y a t'il un moyen de savoir quel fichier (c'est des mp4) est intègre sur les 2 versions?

Arrives-tu à lire les deux en totalité ? Si non, tu as ta réponse. Si oui et que n'as rien vu de bizarre, tu l'as aussi.

sebs

Bon bin comme "John" supputait, c'était la version d'origine la bonne!

Pour si ça peut servir à quelqu'un d'autre: j'ai trouvé ici: https://superuser.com/questions/100288/how-can-i-check-the-integrity-of-a-video-file-avi-mpeg-mp4
comment vérifier l'intégrité d'un fichier vidéo.
Bon c'est en ligne de commande, faut savoir utiliser l'invite de commande  ;)

Il faut installer ffmpeg, et alors lancer:
ffmpeg.exe -v error -i  <fichier> -f null - >check.log 2>&1
en remplaçant <fichier> par le fichier à tester (préfixé du dossier où il se trouve, et avec des " avant et après si c'est avec des espaces dans le nom de dossier ou fichier)

Merci à tous!

sebs

Oups, pour les non-initiés, j'ai oublié de préciser que le fichier "check.log" alors crée contient le résultat de l'analyse.
Si le fichier est vide (taille 0) c'est tout bon, sinon messages d'erreur -> fichier KO.

J'en profite aussi pour faire remarquer, que sous win 10, l'outil "analyseur de disque" est à confirmer d'office: il m'arrive assez souvent que win dit qu'il n'y a pas besoin d'analyser le lecteur, mais en le forçant tout de même bin finalement il trouve des erreurs!

cifMichel95

Savez vous si le type de formatage FAT ou NTFS permet de se prémunir contre la dégradation des fichiers.

J'ai eu le cas sur un clef USB formatée en FAT.

Des fichiers se sont retrouvés corrompus, ont pouvait toujours les ouvrir et les lire mais le contenu était dégradé.
Plus gênant ils ont été recopiés tel quel lors de la sauvegarde et ont écrasé leur backup  >:(.

J'eusse préféré qu'ils soient inaccessibles dès la première erreur.

egtegt²

Citation de: cifMichel95 le Mars 04, 2018, 07:59:28
Savez vous si le type de formatage FAT ou NTFS permet de se prémunir contre la dégradation des fichiers.

J'ai eu le cas sur un clef USB formatée en FAT.

Des fichiers se sont retrouvés corrompus, ont pouvait toujours les ouvrir et les lire mais le contenu était dégradé.
Plus gênant ils ont été recopiés tel quel lors de la sauvegarde et ont écrasé leur backup  >:(.

J'eusse préféré qu'ils soient inaccessibles dès la première erreur.

D'où ma remarque dans un autre post sur le fait qu'une copie n'est pas une sauvegarde ;)

A ma connaissance, il n'y a pas de différence entre NTFS et FAT pour ce qui concerne la corruption des données. Si tu souhaites le faire absolument, je pense qu'une bonne solution est de mettre en place du miroir disque.

cifMichel95

une copie n'est pas une sauvegarde, je suis presque d'accord.

Une sauvegarde journalière est souvent incrémentielle, elle ne sauvegarde que les fichiers qui ont été modifiés et n'efface pas l'ancienne version.

On peut donc restaurer un fichier tel qu'il était à une autre date ... tant que l'on ne refait pas de sauvegarde totale.

Et on finit toujours par en faire une car les sauvegardes incrémentielles prennent de la place, elles conservent les fichiers supprimés ou x fois un fichier .psd si on a travaillé x jours dessuspar exemple.

Pour moi les disques miroirs pallient surtout les défaillances matérielles.

Un disque est HS, les données sont toujours utilisables et dès que l'on change le disque HS par un disque vierge les données du disque survivant sont recopiées et le miroir est de nouveau efficient.

egtegt²

Je ne vois pas pourquoi on ne devrait pouvoir restaurer un fichier à une autre date que tant qu'on ne refait pas de sauvegarde totale. Et certains logiciels permettent de faire des sauvegardes quotidiennes incrémentales infiniment.
Les disques miroirs pallient essentiellement aux défaillances matérielles mais le fait d'avoir deux copies de la donnée permet également de se protéger contre certaines corruptions de données.