Vous êtes ici

La réplication de fichiers/repertoires sous Linux : rsync

Nous allons voir dans cet article comment synchroniser un ou plusieurs repertoires entre 2 machines distantes, pour pouvoir par exemple faire une sauvegarde régulière ou mettre en place une replication. Nous allons utiliser pour cela l'outil Rsync qui synchronise uniquement les différences.

1) Si vous voulez faire une réplication ou une sauvegarde régulière vers une autre machine Linux, il faut dans un premier temps mettre en place une connexion SSH avec authentification par clé (vu ici), sinon lorsque rsync voudra se connecter à la machine distante, il va lui falloir le mot de passe.

2) Utilisation de rsync pour synchroniser nos 2 répertoires : 

rsync -arv —exclude=/home/administrateur /home [email protected]:/home/administrateur/backup

 

Explication de la commande :

rsync : l’outils permettant de synchroniser, il ne synchronise que les différences

-arv :

      a : conserve les info du fichier (droits,date,etc…)

      r : sauvegarde tous les dossiers

      v : affiche ce qu’il fait

--exclude=/home/administrateur : Signifie que je ne veux pas synchroniser ce repertoire

/home : repertoire source

[email protected]:/home/administrateur/backup : machine et repertoire de destination

 

3) L’ideale est maintenant de le batcher pour le faire fonctionner par exemple toute les minutes pour de la réplication ou par exemple toute les nuits pour de la sauvegarde :

 

Pour des questions de lisibilité je créé un fichier script .sh avec ce contenu : ici je le nomme sav.sh

Nous pouvons constater que j’en profite pour rediriger toutes les sorties de rsync vers un fichier de log.txt :

/home/administrateur/scripts/log.txt : l’emplacement de mon fichier de log 

2>&1 : permet de rediriger la sortie et la sortie d’erreurs dans un même fichier.

 

Maintenant il faut planifier l’exécution de notre script comme ça nous arrange. Pour cela nous allons utiliser Crontab :

 

Crontab -e (choisissez ensuite votre éditeur de texte preferé si il vous le propose) 

 

ici j’ajoute la ligne :

 

00 23 * * * /home/administrateur/scripts/sav.sh

 

cela signifie que je veux que mon script tourne tous les jours à 23h00

Il suffit de quitter l’éditeur de texte en sauvegardant et la règle est enregistrée, nous pouvons le vérifier avec la commande crontab -l qui va nous lister le crontab actuel.

Il existe une méthode de réplication en temps réel qui fonctionne au niveau bloc qui se nomme DRBD, un article sera dédié à cette méthode plus tard.

 
Tags: 

www.le-gas.fr : Le guide de l'admin Systeme