Vérifier l’intégrité d’un dossier

Lorsque l’on transfère un gros fichier, il peut être utile de vérifier son intégrité via md5sum. Lorsque l’on a affaire à un dossier, il est fastidieux de le faire manuellement pour chaque fichier. On a alors deux possibilités.

1) Script maison

#!/usr/bin/bash
MD5DIR=$1
MD5OUTPUT=$2
: ${MD5DIR:="./"}
: ${MD5OUTPUT:="./md5sums.txt"}

for myfile in $MD5DIR*
do
	if [ -f "$myfile" ]
	then
	 	md5sum "$myfile" >> $MD5OUTPUT
	fi
done

Enregistrez le code dans un fichier checkmd5.sh. L’utilisation se fait comme ceci:

sh checkmd5.sh /home/rafael/Pictures/ /home/rafael/Desktop/md5sums.txt


Le premier paramètre représente le dossier à tester et le second le fichier dans lequel sont enregistrés le hashs (si vous ne spécifiez pas, on travaille par défaut avec le répertoire courant et le fichier md5sums.txt).

2) Commande plus propre

find /home/rafael/Pictures/ -type f | xargs -i md5sum "{}" > /home/rafael/Desktop/md5sums.txt

Une fois exécuté des deux côtés, vous n’avez plus qu’à comparer les fichiers (par exemple, avec la commande diff).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *