Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| tutoriel:serveur_de_synchronisation_avec_rsync [Le 26/02/2011, 20:13] – [Configuration du serveur de synchronisation] 78.226.237.14 | tutoriel:serveur_de_synchronisation_avec_rsync [Le 09/11/2016, 21:11] (Version actuelle) – [Configuration du serveur de synchronisation] 78.192.147.128 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | {{tag> | ||
| + | ---- | ||
| + | |||
| + | ====== Serveur de synchronisation avec rsync====== | ||
| + | |||
| + | ===== Introduction ===== | ||
| + | Sur [[:rsync]] voir la page principale à ce sujet : [[:rsync]]. | ||
| + | |||
| + | |||
| + | **Pourquoi synchroniser ?** | ||
| + | |||
| + | D'un point de vue de l' | ||
| + | |||
| + | Pour le particulier, | ||
| + | |||
| + | **rsync** est prévu à cet effet. Il peut même faire plus. Il peut être utilisé [[: | ||
| + | |||
| + | <note important> | ||
| + | |||
| + | |||
| + | Pour une synchronisation de plusieurs dossiers, vous pouvez aller voir aussi du coté de [[: | ||
| + | |||
| + | ===== Les particularités de rsync ===== | ||
| + | |||
| + | **rsync** est un outil simple disponible sans installation particulière sous Ubuntu et existant pour divers systèmes d' | ||
| + | |||
| + | ==== Étude de cas ==== | ||
| + | |||
| + | Pour vous donner une idée de l' | ||
| + | |||
| + | * Masse de données : environ 30 Go | ||
| + | * Taux de modification des données : 1% par heure (environ 250 fichiers) | ||
| + | * Liaison dédiée 100Mbits entre les deux serveurs. | ||
| + | * Temps de synchronisation avec parcours de fichiers : 4h30 (du coup, on ne faisait que 3 synchros par jour). | ||
| + | * Temps de synchronisation avec rsync : 22min (quand on le fait 3x par jour, maintenant, on fait 1 synchro par heure avec un temps de synchro de 10min). | ||
| + | |||
| + | C' | ||
| + | |||
| + | |||
| + | |||
| + | |||
| + | ===== Configuration du serveur de synchronisation ===== | ||
| + | |||
| + | Pour autoriser **rsync** à se lancer, il faut éditer le fichier ''/ | ||
| + | < | ||
| + | sudo vi / | ||
| + | </ | ||
| + | |||
| + | et modifier la ligne RSYNC à true | ||
| + | < | ||
| + | RSYNC_ENABLE=true | ||
| + | </ | ||
| + | |||
| + | |||
| + | Pour configurer **rsync**, on crée le fichier de configuration de rsync en éditant le fichier ''/ | ||
| + | |||
| + | < | ||
| + | sudo vi / | ||
| + | </ | ||
| + | |||
| + | En entête de ce fichier, il faut copier les lignes suivantes : | ||
| + | < | ||
| + | uid = rsync | ||
| + | gid = rsync | ||
| + | </ | ||
| + | Le démon rsyncd sera lancé en tant qu' | ||
| + | |||
| + | 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] | ||
| + | path = /srv/intern | ||
| + | | ||
| + | read only = false | ||
| + | </ | ||
| + | |||
| + | Vous pouvez bien entendu créer plusieurs modules de synchronisation. Il existe également d' | ||
| + | |||
| + | < | ||
| + | man rsyncd.conf | ||
| + | </ | ||
| + | |||
| + | Ajouter un utilisateur et un groupe **rsync | ||
| + | ** | ||
| + | |||
| + | < | ||
| + | sudo useradd rsync | ||
| + | sudo passwd rsync | ||
| + | sudo groupadd rsync | ||
| + | sudo gpasswd -a rsync rsync | ||
| + | </ | ||
| + | |||
| + | Attribuer le répertoire de sauvegarde à **rsync** | ||
| + | |||
| + | < | ||
| + | sudo chown -R rsync:rsync /srv/intern | ||
| + | </ | ||
| + | |||
| + | Attribuer les droits adéquats au répertoire de sauvegarde | ||
| + | |||
| + | < | ||
| + | sudo chmod -R 775 /srv/intern | ||
| + | </ | ||
| + | |||
| + | Pour terminer, lancer rsync sans redémarrage avec la commande : | ||
| + | < | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | Sur Ubuntu 16.04, on peut lancer le deamon rsync à tous les démarrages du PC en utilisant la commande suivante : | ||
| + | < | ||
| + | sudo systemctl enable rsync.service | ||
| + | </ | ||
| + | |||
| + | |||
| + | 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 -az --stats --delete --force --ignore-errors --exclude-from=/ | ||
| + | </ | ||
| + | |||
| + | Avec cette commande, j' | ||
| + | |||
| + | Dans le fichier **rsync.exclude**, | ||
| + | Attention, ne pas oublier les **/** en fin de ligne pour les répertoires ainsi que "- " (moins espace) avant chaque ligne. | ||
| + | |||
| + | Les options clés se trouvant juste après la commande sont explicitées ci-dessous : | ||
| + | * **'' | ||
| + | * **'' | ||
| + | |||
| + | |||
| + | La destination de synchronisation (notre serveur) s' | ||
| + | |||
| + | < | ||
| + | adresse_ip:: | ||
| + | </ | ||
| + | |||
| + | Notez que si vous ne placez pas le ''/'' | ||
| + | |||
| + | Donc, en exécutant cette commande, le répertoire ''/ | ||
| + | |||
| + | 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) soient 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 ''/ | ||
| + | |||
| + | < | ||
| + | 05 7-22 * * * | ||
| + | </ | ||
| + | |||
| + | N' | ||
| + | |||
| + | < | ||
| + | sudo / | ||
| + | </ | ||
| + | |||
| + | Pour plus d' | ||
| + | |||
| + | |||
| + | Si l' | ||
| + | |||
| + | < | ||
| + | C:\Mes documents\ | ||
| + | </ | ||
| + | devient : | ||
| + | < | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | // Contributeur : [[utilisateurs: | ||
