Poster une réponse 
 
Note de cette discussion :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire
25-04-2018, 18:19 (Ce message a été modifié le : 14-11-2018 14:01 par fsoulard.)
Message : #1
Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire
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...tory-tree/
https://explainshell.com/explain?cmd=fin...0%20md5sum
https://explainshell.com/explain?cmd=md5...%20--quiet
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
03-04-2019, 13:48 (Ce message a été modifié le : 03-04-2019 13:52 par fsoulard.)
Message : #2
RE: Contrôle MD5/SHA1/SHA256 de tous les fichiers d'un répertoire
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 - )
Trouver tous les messages de cet utilisateur
Citer ce message dans une réponse
Poster une réponse 


Aller à :


Utilisateur(s) parcourant cette discussion : 1 visiteur(s)