Forum de LAPLLA.net
Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire - Version imprimable

+- Forum de LAPLLA.net (https://laplla.net/forum)
+-- Forum : Besoin d'aide (https://laplla.net/forum/forum-12.html)
+--- Forum : Logiciel (https://laplla.net/forum/forum-14.html)
+--- Sujet : Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire (/thread-730.html)



Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire - fsoulard - 25-04-2018

Si comme moi vous êtes parano et aimez bien vérifier que tous les fichiers et dossiers copiés d'un emplacement à un autre correspondent bien octet-par-octet, voici quelques petites commandes très utiles pour calculer et comparer "l'empreinte numérique" des fichiers, à la ligne de commande sous Linux.

1) Tout d'abord se placer dans le répertoire source (remplacer par le chemin correspondant à votre cas).
Code :
cd /mnt/sda1/dossier1

2) Calcul des sommes MD5 de TOUS les fichiers dans le dossier et sous-dossiers, de façon récursive. Les valeurs sont enregistrées dans un fichier texte avec une extension *.md5 sauvegardé dans le répertoire personnel (l'emplacement peut être modifié bien sûr). A la place de md5sum, d'autres algorithmes de hachages présent par défaut sous Linux peuvent aussi être utilisés (par exemple sha1sum et sha256sum pour les sommes SHA1 ou SHA256, à enregistrer dans des fichiers *.sha1 et *.sha256 respectivement).
Code :
find . -type f -print0 | xargs -0 md5sum > ~/checksums.md5

3) Ensuite se placer dans le répertoire cible (remplacer par le chemin correspondant à votre cas).
Code :
cd /mnt/sdb1/dossier2

4) Vérification de toutes les sommes MD5 (ou SHA1 ou SHA256...). Seuls les fichiers manquants ou corrompus seront affichés.
Code :
md5sum -c --quiet ~/checksums.md5

Sources :
http://info.michael-simons.eu/2008/10/25/recursively-md5sum-all-files-in-a-directory-tree/
https://explainshell.com/explain?cmd=find%20.%20-type%20f%20-print0%20|%20xargs%20-0%20md5sum
https://explainshell.com/explain?cmd=md5sum%20-c%20--quiet


RE: Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire - fsoulard - 03-04-2019

Copier un répertoire vers de multiples destinations

1) Se placer dans le dossier parent (sinon toute l'arborescence sera copiée) :
Code :
cd /home/epn/dossier_parent
2) Copier le dossier
Code :
tar cf - dossier1 | tee >( cd /home/epn/dossier2 ; tar xf - ) >( cd /home/epn/dossier3 ; tar xf - ) | ( cd /home/epn/dossier4 ; tar xf - )

Alternativement :

1) Se placer dans le dossier (sinon toute l'arborescence sera copiée) :
Code :
cd /home/epn/dossier_parent/dossier1
2) Copier le contenu du dossier
Code :
tar cf - . | tee >( cd /home/epn/dossier2 ; tar xf - ) >( cd /home/epn/dossier3 ; tar xf - ) | ( cd /home/epn/dossier4 ; tar xf - )



RE: Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire - fsoulard - 20-01-2021

Vérification de fichiers par fichier .SFV (listes de sommes de contrôle CRC32) :

Si nécessaire, installer cksfv :
Code :
sudo apt-get install cksfv

  1. Créer un fichier .SFV dans le répertoire HOME (liste tous les fichiers de façon récursive dans le répertoire courant et tous les sous-dossiers)
    Code :
    find . -type f -print0 | xargs -0 cksv > ~/checksums.sfv
  2. Vérifier les fichiers listés dans le répertoire courant, avec un fichier .SFV dans le même répertoire :
    Code :
    cksfv -f checksums.sfv
  3. Vérifier les fichiers d'un autre répertoire, avec un fichier .SFV présent dans le répertoire HOME :
    Code :
    cksfv -f ~/checksums.sfv -C dossier