Nous avons vu il y a quelques jours comment répliquer nos bases de données à la volée d’un serveur à l’autre.
Voyons aujourd’hui comment répliquer les fichiers en temps réel avec lsyncd
.
Pour les besoins de ce tutoriel, vous avez besoin:
- deux serveurs, VPS, ou Droplets si chez Digital Ocean;
- d’une connexion SSH par clé, sans mot de passe, entre les deux serveurs.
Mon serveur principal s’appelle MASTER
. Le serveur de sauvegarde s’appelle BACKUP
.
Copier tous les fichiers d’un serveur à l’autre avec rsync
rsync
est le moyen le plus simple de copier tous les fichiers d’un répertoire sur votre serveur de sauvegarde.
Nous copions donc tous les fichiers qui se trouvent dans /var/www/html
de notre serveur MASTER
vers BACKUP
:
rsync --progress -av --delete --stats --checksum --human-readable /var/www/html/* root@10.134.4.220:/var/www/html/
Code language: JavaScript (javascript)
Cela permet d’avoir deux copies identiques très rapidement, surtout si vos deux VPS sont dans le même datacenter : vous pouvez alors utiliser l’IP interne du serveur – vitesse décuplée assurée (et cela ne compte pas dans la bande passante allouée).
La réplication des fichiers du site avec lsyncd
Je choisis d’utiliser lsyncd
pour assurer la réplication des fichiers du site. C’est un petit service qui surveille le contenu d’un répertoire et qui fait un rsync
toutes les 20 secondes vers votre autre VPS.
1. Sur le serveur MASTER
, on installe lsyncd
:
apt-get install lsyncd
Code language: JavaScript (javascript)
2. Et on crée ses répertoires et son fichier de configuration :
mkdir /etc/lsyncd
mkdir /var/log/lsyncd
nano /etc/lsyncd/lsyncd.conf.lua
Code language: JavaScript (javascript)