Article

[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

 

Découvrez  [Bash] : comment remettre en place le bashrc ou le bash_profile par défaut ?
Explorer les formations Xavki

Pour apprendre dans l ordre, repartez depuis la roadmap ou une playlist thematique.