Installation et utilisation d'Rsync

Rsync est un outil qui permet de synchroniser plusieurs répertoires de sorte à ce que ces derniers aient le même contenu. Il peut fonctionner en local mais également au travers du réseau ou même au travers d'Internet et qui rend sa présence quasi indispensable pour effectuer des sauvegardes de manière automatique et sécurisée. Il existe plusieurs modes de fonctionnement à Rsync, notamment un mode dit daemon où un processus écoute un port sur le serveur et un mode shell où aucun service n'est lancé sur aucune machine mais où l'utilisateur doit posséder un compte sur les deux machines pour effectuer le transfert.

Le mode Shell :

C'est le mode par défaut pour l'utilisation de Rsync. Il est appelé ici mode Shell parce qu'il nécessite d'avoir un accès en dur sur la(les) machine(s) distante(s). Pour la copie, rsync utilisera la connexion SSH. Il n'est donc pas nécessaire de faire une manipulation particulière sur la machine distante. En réalité, pour initier le transfert la machine distante créera un serveur momentanément et le client (la machine locale) établira la connexion. C'est une sorte de scp un peu plus puissant. Vous pouvez aussi utiliser cet utilitaire pour faire des copies locales, de la même façon, vous pouvez l'utiliser en remplacement de cp. Pour synchroniser le répertoire locale /work/dir dans le répertoire /home/save distant situé sur la machine backup, on utilisera la commande suivante :

rsync -avz work/dir backup:/home/save

ATTENTION : Si vous mettez un "/" à la fin de la ligne, rsync créera un répertoire dir dans le répertoire save, s'il n'est pas mis, le contenu de dir sera transvasé dans le répertoire save.

De cette manière, un sous-répertoire dir sera créé dans le répertoire distant save. On uilise ici les modes archive (-a) pour préserver les propriétaires de fichiers, les liens, les droits et autres,, le mode verbeux (-v) pour avoir une sortie plus complète (par exemple le nom des fichiers transférés) et le mode compressé (-z) pour utiliser moins de bande passante. Cette option est à utiliser autant de fois que possible pour réduire les temps de transfert et la bande passante utilisée, on s'en passera uniquement pour les transferts depuis ou vers des machines peu puissantes.

Le mode daemon : Serveur :

Le mode démon permet à des client n'ayant pas de compte sur la machine de se synchroniser avec elle. En effet, en lançant ce mode (à l'aide de l'option --daemon) rsync va écouter sur un port (par défaut le 873) et les client pourront se connecter à l'aide de l'url : rsync://machine/répertoire. Vous pouvez spécifier le port utilisé à l'aide de l'option --port=PORT, le fichier de configuration avec --config et également forcer l'application à ne pas se détacher du terminal avec --no-detach ce qui peut être très utile pour avoir les sorties d'erreur sous la main pendant la configuration. Il existe également un fichier de configuration pour le mode serveur et il doit être placé ici : /etc/rsyncd.conf. Par défaut, il n'existe pas, vous pouvez soit utiliser le fichier de démonstration qui se situe dans le dossier /usr/share/doc/rsync/examples/ soit utiliser l'exemple suivant :

Configuration de : /etc/rsyncd.conf (Cliquez pour faire apparaitre le fichier)

Le mode daemon : Client :

Dans ce mode, le client n'a pas besoin d'avoir un compte sur la machine pour se connecter. Il suffit que le serveur soit lancé.
Il suffit au client de lancer une commande du type :

rsync -rv serveur_de_backup::backup /enplacement/de/la/copie/locale/.

Cette commande permet de synchroniser le répertoire /emplacement/de/la/copie/locale/ sur le contenu du répertoire backup définit dans le fichier de configuration du serveur serveur_de_backup.
Cependant, par cette méthode, les donnnées circuleront en clair sur le net. Pour remédier à ca, si le serveur dispose d'un démon SSH lancé et que le client possède un client SSH (ce qui est le cas de toutes les installation de base des grandes distributions, ou presque), vous pouvez sécuriser l'échange à l'aide de la commande suivante :

rsync -rv -e ssh serveur_de_backup::backup /enplacement/de/la/copie/locale/.

De cette manière le transfert sera crypté et donc sécurisé (dans une certaine mesure).

Liste des options (non exhaustive) :

Option courte Option longue Effet
-h --help Affiche l'aide (liste exhaustive des options).
-v --verbose Plus de sortie
-q --quiet Moins de sortie
-a --archive Combinaison des options r, l, p, t, g, o et D. (soit -rlptgoD).
-r --recursive Visite tous les sous répertoires.
-u --update Mode mise à jour, les fichier plus récents chez le destinataire sont conservés.
-d --dirs Ne transfert pas les répertoires.
-l --links Conservation des liens symboliques (pas de copie de fichiers).
-z --compress Transfert en compressant les données.
-h --human-readable La sortie est "lisible".
--daemon Lance Rsync en mode démon.
--config=FICHIER Le fichier FICHIER est utilisé par le mode démon pour fichier de configuration.

Positionnement et Statistiques Gratuites Ajoutez votre site Top des sites