[Bash] : comparer un fichier/répertoire de deux serveurs différents avec ssh

Pour les sysadmin c’est un besoin récurrent : comment comparer deux fichiers de conf sur deux serveurs différents ?

Pour réaliser cela on va associer ssh et la commande diff. C’est vrai que diff est assez magique pour comparer deux fichiers et voir rapidement où sont les différences.

Par exemple nous sommes sur le serveur n°2 et nous voulons comparer sa conf avec le serveur n°1 :

diff -y <(ssh utilisateur@serveur1 cat /etc/monfichier) <(cat /etc/monfichier)

Donc :

  • on utilise diff -y pour comparer ligne à ligne
  • on fait un ssh pour ouvrir le fichier distant

Et si nous voulions comparer le contenu de deux répertoires de la même manière ?

diff -y <(ssh utilisateur@serveur1 find /etc/monrepertoire | sort) <(find /etc/monrepertoire | sort)

Là on ajoute donc un find pour lister les fichiers du répertoire puis on classe la sortie dufind grâce à un sort.

man person legs grass
Photo by Gratisography on Pexels.com

 

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s