Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/10/2015, à 16: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, à 16:32)

Hors ligne

#2 Le 02/10/2015, à 20: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, à 21: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, à 21: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, à 22:24

bbenn

Re : [résolu][cksum] sur plusieurs fichiers

ah mais non c'est pas du tout ça que je veux faire big_smile

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, à 06: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, à 07:22)

Hors ligne

#7 Le 06/10/2015, à 16:32

bbenn

Re : [résolu][cksum] sur plusieurs fichiers

la première soluce me va très bien
merci pingouinux

Hors ligne