Outils personnels
Vous êtes ici : Accueil Blog Mettre en place un serveur et un client de synchronisation avec rsync
Navigation
 
Actions sur le document

Mettre en place un serveur et un client de synchronisation avec rsync

Filed Under:

D"un point de vue de l"entreprise, un serveur de synchronisation est utile pour centraliser les backups sur une même machine équipée accessoirement d"un enregistreur de bande. Pour le particulier, il est intéressant (si vous avez plusieurs machines), d"avoir un backup simple et rapide de son répertoire home. rsync est prévu à cet effet. Il peut même faire plus mais nous allons envisager dans ce tutoriel comment faire une synchronisation entre deux serveurs; un serveur de production et un serveur de centralisation des backups.

Installation de rsync

sudo yum install rsync

Configuration du serveur de synchronisation

 
Pour configurer rsync, on crée le fichier de configuration de rsync en éditant le fichier /etc/rsyncd.conf

Dans ce fichier, on introduit les informations concernant les modules. Un module est une sorte de partage rsync. Dans notre cas, on va créer un module nommé share_rsync.

[share_rsync]
path = /home/kwa29/Backup
comment = Synchronisation du Home
read only = false

Le serveur est maintenant prêt pour recevoir les requêtes de synchronisation.

 

Configuration du client

 

Les synchronisations du (ou des) client(s) peuvent se faire par le biais de la commande rsync. La syntaxe de cette dernière est relativement simple. Voici la commande que j"utilise :

rsync -raz --stats --delete --exclude 'Divers'  /home/kwa29 kwa29.com::share_rsync/

Avec cette commande, j"indique que je souhaite supprimer les fichiers (option –delete) qui ne sont plus sur la source (la source dans ce cas-ci est /home/kwa29) et que je souhaite obtenir des statistiques quant à la vitesse de transfert (option –stats).

 

Les options clés se trouvant juste après la commande sont explicitées ci-dessous :

  • r : indique que je souhaite synchroniser le répertoire source de manière récursive.
  • a : indique que rsync doit travailler en mode archive, c"est-à-dire que les permissions et les propriétaires des fichiers sont synchronisés également.
  • z : indique à rsync qu"il doit utiliser la compression pour le transfert des données.

La destination de synchronisation (notre serveur) s"indique comme suit :

adresse_ip::module/

Notez que si vous ne placez pas le / après le module, vous allez obtenir un sous-répertoire kwa29 (dans ce cas-ci) dans le répertoire définit dans le module. Ce qui peut être intéressant dans certains cas mais ce n"est pas le but ici.

 

Donc, en exécutant cette commande, le répertoire /home/kwa29 est synchronisé avec le module share_rsync sur le serveur kwa29.com

 

Sur une station de travail, on peut utiliser cette commande à chaque fois où l"on veut faire un petit backup (c"est ce que je fais à la maison) mais en entreprise, on souhaite que ces synchronisations (ou backup, comme vous voulez) soit faites à des intervalles fixes.

 

Pour ce faire, nous allons configurer cron pour lancer les synchronisations automatiquement. Ceci est fait en ajoutant une ligne au fichier /etc/crontab. Par exemple, pour une synchronisation par heure de 7h à 22h :

05 7-22 * * *   root   rsync -raz --stats --delete /home/kwa29 kwa29.com::share_rsync/

N"oubliez pas de forcer le rechargement du crontab via la commande :

sudo /etc/init.d/cron reload