Synchroniser 2 serveurs Centos7 via LSYNCD

LSYNCD utilise RSYNC et permet la synchronisation de fichiers en quasi temps-réel.

Nous allons voir ici comment le mettre en place entre 2 serveurs Linux sous Centos.

  • Serveur principal (maître) : XXX.XXX.XXX.1
  • Serveur Secondaire (esclave) : XXX.XXX.XXX.2

1/ Installer LSYNCD sur le serveur à répliquer

Installation de lsyncd
yum install epel-release
yum install lsyncd -y

2/ Accès de confiance SSH entre les 2 serveurs

En root, exécuter ces commandes (sudo) pour créer et partzger les clés de d’authentification SSH entre les 2 serveurs.

Création d'un jeu de clés
ssh-keygen -t rsa
Copie de la clé publique sur le serveur receveur
ssh-copy-id -i /root/.ssh/id_rsa.pub root@XXX.XXX.XXX.2

3/ Configuration du répliquant

Editer le fichier /etc/lsyncd.conf pour paramétrer les dossier à synchroniser.

Dans l’exemple ci-dessous, nous synchronisons le dossier /var/www/html/mon-site avec toutes les permissions associées.

Exemple de paramétrage de synchronisation
sync {
        default.rsync,
        source = "/var/www/html/mon-site",
        target = "XXX.XXX.XXX.2:/var/www/html/mon-site-destination",
        rsync={
                rsh = "/usr/bin/ssh -p 53246 -l root -i /root/.ssh/id_rsa",
                perms = true,
                owner = true,
                group = true,
        },

}

Voilà c’est aussi simple que ça !

Si jamais la synchronisation ne s’effectuait pas correctement, pensez à aller voir les logs /var/log/lsyncd/*

Sinon il y a aussi...