#1 Le 02/10/2015, à 15:35
- bbenn
[résolu][cksum] sur plusieurs fichiers
Salut,
je voudrais vérifier que le contenu d'un dossier sur une machine est identique au contenu d'un dossier sur une autre machine.
Je ne veux pas tenir compte des différences de users/droits
je veux juste m'assurer que les fichiers ont le même nom et le même contenu.
vous voyez une soluce (à base de cksum par exemple?)
Dernière modification par bbenn (Le 06/10/2015, à 15:32)
Hors ligne
#2 Le 02/10/2015, à 19:34
- pingouinux
Re : [résolu][cksum] sur plusieurs fichiers
Bonsoir,
Tu peux regarder la commande dirdiff, mais je ne l'ai jamais utilisée.
Hors ligne
#3 Le 02/10/2015, à 20:34
- bbenn
Re : [résolu][cksum] sur plusieurs fichiers
je ne sais pas exactement ce que fait dirdiff mais je pense que ça ne peux comparer que 2 dossiers sur la même machine.
Dans mon cas j'ai 2 machines distantes (sans montage possible de l'une sur l'autre)
il faudrait que je joue une commande sur un des dossiers , lancer la même commande sur l'autre dossier et voir si ça match
avec cksum j'ai hélas des différences car les droits et les users sont différents, même si les fichiers sont identiques.
Hors ligne
#4 Le 02/10/2015, à 20:56
- soshy
Re : [résolu][cksum] sur plusieurs fichiers
Là comme ça, je pense à la commande "tree" qui permet d'afficher l'arborescence de façon graphique.
J'imagine que si tes dossiers sont identiques, ta commande te retournera les deux mêmes "arbres".
Donc un truc du genre :
tree rep1 > arbre1.txt
tree rep2 > arbre2.txt
diff arbre1.txt arbre2.txt
Hors ligne
#5 Le 02/10/2015, à 21:24
- bbenn
Re : [résolu][cksum] sur plusieurs fichiers
ah mais non c'est pas du tout ça que je veux faire
sur la machine A j'ai des fichiers x et y dans le dossier /d
sur la machine B j'ai des fichiers x et y dans le dossier /e
je veux vérifier que tous les fichiers présents sur A sont également présent sur B (ni plus ni moins) qu'ils ont bien le même nom et le même contenu.
Hors ligne
#6 Le 03/10/2015, à 05:26
- pingouinux
Re : [résolu][cksum] sur plusieurs fichiers
Ceci devrait suffire :
Sur la machine A
cd .../d
md5sum * | sort | md5sum
Sur la machine B
cd .../e
md5sum * | sort | md5sum
S'il y a des fichiers cachés ou des sous-répertoires, il faudra adapter la commande.
Édité :
Tu peux même créer une fonction sur chacune des machines
md5_dir() (cd "$1"; md5sum * | sort | md5sum)
à appeler ainsi
md5_dir le_répertoire_à_vérifier
Édité (2) :
S'il y a des fichiers cachés et des sous-répertoires, utiliser cette fonction
md5_dir() (cd "$1"; shopt -s dotglob globstar; md5sum **/* 2>/dev/null | sort | md5sum)
Dernière modification par pingouinux (Le 03/10/2015, à 06:22)
Hors ligne
#7 Le 06/10/2015, à 15:32
- bbenn
Re : [résolu][cksum] sur plusieurs fichiers
la première soluce me va très bien
merci pingouinux
Hors ligne