Vérifier l'intégrité de fichiers
Pour vérifier l'intégrité d'une liste de fichiers, par exemple après une copie, plusieurs solutions sont envisageables.
diff
Si vous disposez des fichiers intègres (par exemple les fichiers sources d'une copie), il est possible d'utiliser l'utilitaire diff :
diff -qr répertoire_source répertoire_destination
Calculer les sommes de contrôle
S'il s'agit de pouvoir vérifier l'intégrité des fichiers à long terme, le mieux est de calculer les sommes de contrôle des fichiers, par exemple :
cd répertoire_source find -type f -exec md5sum '{}' >>/tmp/SUMS \+
Remplacez md5sum
par l'utilitaire de calcul de sommes de contrôle que vous souhaitez (sha1sum, sha512sum…).
Si vous souhaitez exclure de la recherche certains répertoires, utilisez quelque chose comme ça :
find -type f -not \( -wholename '*Musique*' -o -wholename '*Vidéo*' \ -o -wholename '*SAUVEGARDES*' \) -exec md5sum '{}' >>/tmp/SUMS \+
Pour vérifier les fichiers :
cd répertoire_destination md5sum --quiet -c /tmp/SUMS
Sous BSD, il existe l'utililtaire mtree pour faire ce travail (disponible dans Debian dans le paquet freebsd-buildutils, sous le nom freebsd-mtree, mais ne reconnaît pas les mots-clefs de calcul des sommes de contrôle).