Afficher/cacher Sommaire
Lsyncd
- How to setup lsyncd over SSH
- How To Mirror Local and Remote Directories on a VPS with lsyncd
- Installation et configuration de lsyncd sur Debian
Lsyncd est un moyen de synchroniser automatiquement un répertoire local avec d’autres machines. Les fichiers sur la machine locale sont surveillés pour les changements toutes les quelques secondes et si des changements sont notés, ils sont alors répliqués et synchronisés sur le(s) serveur(s) distant(s). Cette solution de synchronisation est facile à installer, légère et ne limite pas les performances du système de fichiers local.
Par défaut, Lsync utilise Rsync pour répliquer les fichiers de la machine locale et ne transférera que les fichiers qui ont été modifiés. Il existe d’autres solutions sur le marché qui exécutent cette tâche, mais il s’agit d’une solution peu coûteuse et pratique pour synchroniser automatiquement les données, minimisant ainsi la perte de données et le temps passé à répliquer les fichiers d’une machine à l’autre.
Les 5 fonctions suivantes sont proposées :
- Vérifie ce qui doit être synchronisé de votre machine locale vers votre ou vos serveurs distants.
- Contrôles sur le vice versa
- Synchronisation de votre local vers votre distant
- Syncs vice-versa
- Peut éditer votre fichier “rsync includes”.
L’utilisation de cette méthode vous permet de synchroniser en continu les données de votre machine locale vers la machine distante sans ajouter de stress supplémentaire sur le serveur.
Installation lsyncd
L’installation de Lsyncd sur votre serveur est un processus assez simple et facile. Utilisez les commandes suivantes pour l’installer sur votre système Debian ou Archlinux.
sudo apt install lsyncd
Archlinux
yaourt -S lsyncd
L’exécution de ces commandes installera Lsyncd et inclura quelques exemples dans le répertoire /usr/share/doc/lsyncd/examples.Ces exemples peuvent être utilisés pour avoir une meilleure idée des configurations possibles lors de l’utilisation de cette méthode de synchronisation.
Arrêt temporaire du service, pour la configuration
sudo systemctl stop lsyncd
Mise en place de l’environnement
Répertoire local : /srv/wikistatic/_site
La connexion SSH sur la machine distante se fait avec l’utilisateur backupuser et un jeu de clé id_rsa
machine distante
Création répertoire avec les droits utilisateur
sudo mkdir /srv/dest
sudo chown backupuser.backupuser -R /srv/dest
machine locale
Créer un répertoire de logs et quelques fichiers que lsyncd à utilisera
sudo mkdir /var/log/lsyncd
sudo touch /var/log/lsyncd/lsyncd.{log,status}
Ensuite, nous pouvons créer le répertoire de configuration lsyncd
sudo mkdir /etc/lsyncd
Créer un fichier de configuration à l’intérieur de ce répertoire appelé “lsyncd.conf.lua”
sudo nano /etc/lsyncd/lsyncd.conf.lua
settings {
logfile = "/var/log/lsyncd/lsyncd.log",
statusFile = "/var/log/lsyncd/lsyncd.status",
statusInterval = 20
}
sync {
default.rsync,
source="/srv/wikistatic/_site",
target="backupuser@193.70.43.101:/srv/dest",
rsync = {
archive = false,
acls = false,
compress = true,
links = false,
owner = false,
perms = false,
verbose = true,
rsh = "/usr/bin/ssh -p 55027 -i /home/backupuser/.ssh/id_rsa -o StrictHostKeyChecking=no"
}
}
Utiliser lsyncd
Lancer manuellement
lsyncd /etc/lsyncd/lsyncd.conf.lua
Lancer le service
sudo systemctl start lsyncd
Statut
sudo systemctl status lsyncd
● lsyncd.service - LSB: lsyncd daemon init script
Loaded: loaded (/etc/init.d/lsyncd)
Active: active (running) since mer. 2018-04-25 21:14:51 CEST; 27s ago
Process: 9877 ExecStop=/etc/init.d/lsyncd stop (code=exited, status=0/SUCCESS)
Process: 15464 ExecStart=/etc/init.d/lsyncd start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/lsyncd.service
├─15468 /usr/bin/lsyncd -pidfile /var/run/lsyncd.pid /etc/lsyncd/lsyncd.conf.lua
├─15469 /usr/bin/rsync --delete --ignore-errors -vzst --rsh=/usr/bin/ssh -p 55027 -i /home/b...
└─15470 /usr/bin/ssh -p 55027 -i /home/backupuser/.ssh/id_rsa -o StrictHostKeyChecking=no -l...
avril 25 21:14:51 yanspm.com lsyncd[15464]: Starting synchronization daemon: lsyncd.
avril 25 21:14:51 yanspm.com systemd[1]: Started LSB: lsyncd daemon init script.
Vérifier l’opération
cat /var/log/lsyncd/lsyncd.log
[...]
sent 15,851,575 bytes received 10,820 bytes 118,819.44 bytes/sec
total size is 21,886,154 speedup is 1.38
Wed Apr 25 21:17:04 2018 Normal: Startup of "/srv/wikistatic/_site/" finished.