lsyncd (Live Syncing Daemon) est une utilisation de synchronisation de fichiers en temps réel qui utilise rsync pour synchroniser les fichiers modifiés et combine cela avec la capacité de détecter les modifications en temps réel grâce à inotify.
Avant de commencer assurez d’avoir mis en place trois VM linux et s'être vous être assuré de leur inter-connectivité (via un simple ping).
Sur Debian/Ubuntu :
sudo apt-get install rsync apache2
Sur Debian/Ubuntu :
sudo apt-get install lsyncd
Créez un fichier de configuration, par exemple /etc/lsyncd/lsyncd.conf.lua, et ouvrez-le avec un éditeur de texte :
sudo nano /etc/lsyncd/lsyncd.conf.lua
Voici un exemple de configuration qui synchronise les fichiers d'un répertoire local avec un répertoire distant sous Apache :
settings {
logfile = "/var/log/lsyncd.log",
statusFile = "/var/log/lsyncd.status"
}
sync {
default.rsync,
source = "/var/www/html/local/", -- Répertoire source sur le serveur local
target = "user@192.168.0.10:/var/www/html/remote/", -- Le serveur distant
rsync = {
compress = true,
archive = true,
verbose = true,
perms = true,
owner = true,
_extra = {"--delete"}
}
}
Pour autoriser la connexion ssh sans mot de pass :
sudo ssh-keygen && ssh-copy-id debiana@192.168.0.10
Après avoir configuré le fichier, démarrez le service lsyncd :
sudo systemctl restart lsyncd
Pour vous assurer qu'il démarre automatiquement au démarrage :
sudo systemctl enable lsyncd
Vérifiez que le service fonctionne correctement et surveillez les fichiers journaux pour voir les activités :
sudo systemctl status lsyncd
cat /var/log/lsyncd.log
Veuillez vérifier que le serveur est bien running sinon regarder fichier votre configuration nano /etc/lsyncd/lsyncd.conf.lua et retester.
Assurez-vous que l'utilisateur sous lequel s'exécute lsyncd a les permissions nécessaires pour lire et écrire dans les répertoires source et cible.