Après avoir copié disons 50+ Go (30 000 fichiers, y compris différents formats) de fichiers d'un disque dur interne vers un disque externe, est-il possible de savoir si tout a été copié correctement? De plus, si je m'arrête entre les deux en annulant l'opération et que je dis plus tard fusionner en poursuivant l'opération, la correction sera-t-elle corrigée?
Je pourrais utiliser des applications comme back-in-time
mais je suis très exigeant dans la copie de fichiers et pour la prochaine fois j'ai l'intention d'utiliser l' copy
opération et de dire à la merge
place de replace
. Est-il conseillé lors de la copie d'un grand nombre de fichiers?
Réponses:
J'utilise hashdeep pour vérifier les sauvegardes / restaurations et parfois pour vérifier la corruption du système de fichiers dans un RAID.
La vitesse dépend des fonctions de hachage que vous utilisez (certaines sont plus gourmandes en CPU que d'autres) ainsi que de la vitesse de lecture de vos disques. Sur mon système, je
hashdeep
peux traiter ou vérifier environ 1 To / heure avec une vitesse de lecture md5 et 300 Mo / s.Exemple sur le calcul des sommes de contrôle et leur stockage dans un fichier:
Paramètres:
r
- récursifl
- utiliser des chemins relatifsc
- spécifier la fonction de hachage.
- récursif à partir du répertoire courant>
- rediriger la sortie vers le fichier spécifiéVoir la page de manuel .
Exemple de vérification des sommes de contrôle et d'impression d'une liste de différences:
Paramètres:
a
- audit (comparer avec la liste des sommes de contrôle connues)v
- verbeux (pour obtenir une liste des discordances, plusieursv
s signifie plus verbeux)k
- fichier de hachages connusNotez que depuis mars 2016
hashdeep
semble être abandonné .la source
Cela ressemble à la tâche parfaite pour rsync . Rsync compare et copie des différences.
L'
rsync
utilitaire m'est apparu pour la première fois quand j'ai vu votre question. Faire quelque chose comme ci-dessous pourrait rapidement montrer quels fichiers sont dans le répertoirea
mais pas dansb
:C'est une bonne option car vous pouvez également comparer le contenu des fichiers pour vous assurer qu'ils correspondent.
rsync
L'algorithme delta est optimisé pour ce type de cas d'utilisation. Ensuite, si vous souhaitez faireb
correspondre le contenu dea
, vous pouvez simplement supprimer l'-n
option pour effectuer la synchronisation réelle.Quelques questions connexes:
la source
Si les applications GUI suggérées sur l' outil de comparaison de fichiers et de répertoires? ne le faites pas pour vous, essayez
diff -rq /path/to/one /path/to/other
de parcourir les deux répertoires tranquillement, en enregistrant uniquement les différences à l'écran.la source
La situation que vous dites est trop complexe. Bien que vous puissiez écrire un script pour calculer MD5 de tous les fichiers que vous souhaitez copier et ensuite les comparer avec ceux copiés:
Si vous voulez quelque chose de simple et rapide (cela ne fonctionnera pas dans des scénarios très complexes), vous pouvez utiliser Meld
la source
Sur le "si tout a été copié correctement", j'utilise un cp (ou mv) modifié qui inclut le checksum (éventuellement stocké dans xattr, donc il ne doit être calculé qu'une seule fois pour la source) http://sourceforge.net/projects / crcsum /
la source
crccp
dans votre réponse! ;-) Vous pouvez toujours laisser le lien en bas de votre réponse comme source pour votre matériel ...