Installation d'un système de sauvegarde avec rsync

20/08/2009 - 39148 consultations - 3 commentaires


Ce tutoriel vous présente l'installation d'un système de sauvegarde pour par exemple un site web à l'aide de l'outils rsync

Introduction
Rsync est un outil qui permet de faire des sauvegardes locales ou à distance d'une arborescence de fichiers et dossiers.
Rsync permet de passer par le protocole SSH afin d'effectuer des sauvegarde par réseu d'une machine à une autre de manière à sécuriser les données transmises.

Rsync fonctionne par copie partiel des données on appelle ça la sauvegarde incrémentielle. Rsync ne recopie que ce qui as changé depuis la dernière sauvegarde (nouveautées ou modifications). Le début du transfert commence donc par l'envoie de la liste des fichiers ainsi que plusieurs informations relatives à ceux-ci, puis les données elles même.

Installation

Comme d'habitude, on commence par la mise à jour des paquets debian :
apt-get update

Puis on installe rsync :
apt-get install rsync

Utilisation de rsync en local

Commençons par sauvegarder le dossier d'hébergement dans un dossier de sauvegarde :
rsync -Haurov /var/www/xenetis.org/ /home/backup/
Cette commande va donc sauvegarder le dossier /var/www/xenetis.org/ dans le dossier /home/backup/

A quoi correspondent les options Haurov (à part un prénom russe lol ) :
-H préserve les liens en dur
-a indique qu'on est dans le mode archivage
-u indique qu'il faut mettre à jour les fichiers modifier et non tout recopier à chaque fois
-r mode récursif, on sauvegarde le contenu du dossier et ses sous dossiers
-o pour "owner", on préserve les propriétaires des fichiers (cela ne fonctionne que si on effectue la sauvegarde en root
-v pour verbose, donne plus d'information sur la copie

Si on veut supprimer de la sauvegarde les fichiers qui ont été supprimés du répertoire source il faut ajouter l'option --delete :
rsync -Haurov --delete /var/www/xenetis.org/ /home/backup/

Si un fichier est malencontreusement supprimer du serveur, il le sera donc à la prochaine sauvegarde, il est donc possible de stocker les fichiers supprimer dans un autre dossier par sécurité :
rsync -Haurov --delete --backup --backup-dir=/home/backup/deleted/ /var/www/xenetis.org/ /home/backup/

Il est aussi possible d'exclure un dossier de la sauvegarde, exemple un dossier où se trouveraient des fichiers de cache :
rsync -Haurov --exclude=/var/www/xenetis.org/cache/ /var/www/xenetis.org/ /home/backup/

Pour les impatients, il existe aussi l'option progress qui affiche la progression du transfert :
rsync -Haurov --progress /var/www/xenetis.org/ /home/backup/

Utilisation de rsync en réseau

Le point intéressant avec rsync, est de pouvoir sauvegarder sur une machine distante, pour cela il faut spécifier notre serveur cible, pour cet exemple : 123.123.123.123 avec utilisateur root dans le dossier /home/backup :
rsync -Haurov /var/www/xenetis.org/ root@123.123.123.132:/home/backup/

Cette sauvegarde passe par ssh, rsync vous demandera donc le mot de passe de l'utilisateur distant pour effectuer sa sauvegarde.

Utilisation des clés publique / privée pour la sauvegarde par ssh

Si vous vous voulez utiliser une paire de clé publique / privée pour effectuer votre sauvegarde, vous pouvez vous référer au tutoriel présent sur ce site : Sauvegarde par ssh avec la commande scp avec clé publique - clé privée

Puis une fois les clés installées utilisez cette commande pour la sauvegarde
rsync -Haurov   -e "ssh -i /root/.ssh/id_dsa" /var/www/xenetis.org/ root@123.123.123.132:/home/backup/

Cela vous permettra de lancer votre commande en tache planifier crontab par exemple.

Utilisation d'un port ssh différent de celui d'origine

Si le serveur recevant les sauvegardes dispose d'un port ssh n'était pas celui d'origine (22) mais par exemple 2222, utilisez la commande suivante :
rsync -Haurov   -e "ssh -p 2222" /var/www/xenetis.org/ root@123.123.123.132:/home/backup/

Commentaires (3)

Tilly - 11/10/2012 à 12h32
Yours is a point of view where real intelligence shines through

Nicolo - 11/10/2012 à 12h44
Wow thanks a lot ;-)

andrd - 06/11/2012 à 10h32
Bonjour,

D\'après man rsync, -a est identique à -rlptgoD
On peut donc imaginer que
rsync -Haurov
devient
rsync -Hauv

Merci pour l\'article

Commentez cet article

Nom (obligatoire)
E-mail (obligatoire)
Site Internet (facultatif)
code anti-spam

Me tenir inform� des nouveaux messages


terminal.pngCréer un dépôt git privé sur un hébergement mutualisé ovh
Ce tutoriel vous présente comment installer un dépôt GIT sur votre hébergement mutualisé OVH
mail_generic.pngProblème à l'installation d'Exim4 : Could not perform immediate configuration on 'exim4-daemon-light'. sous Linux Debian
Il peut arriver que vous rencontriez un problème lors de l'installation d'Exim4, une erreur du style : Could not perform immediate configuration on 'exim4-daemon-light'.
kcmdevices.pngForcer umount quand vous avez le message : device is busy sous Linux Debian
Ce mini tutoriel vous présente comment Démonter un point de montage quand celui ci ne veux pas être démonté
encrypted.pngSauvegarde par ssh avec la commande scp avec clé publique - clé privée
Ce tutoriel présente comment effectuer une copie de fichier entre 2 serveurs en utilisant scp, en passant par des clé publique et clé privée afin de ne pas avoir à saisir de mot de passe
terminal.pngServeur ftp proftpd avec utilisateurs virtuels sous linux debian ubuntu
Ce tutoriel vous présente comment installer le serveur ftp proftpd à partir des paquets debian. Pour éviter de créer autant d'utilisateurs Linux que de compte FTP il est possible de créer des utilisateurs virtuels seulement disponibles pour le serveur FTP
terminal.pngInstallation de subversion un dépôt de données SVN
Vous trouverez dans cet article l'intégralité de l'installation d'un entrepôt de sources subversion, celà permet de gérer les version en développement de sauvegarder toutes les modifications de vos sources de sites ou programmes
mycomputer.pngMise à jour de votre distribution Linux Debian 5.0 Lenny à Linux Debian 6.0 Squeeze
Ce tutoriel vous indique comment mettre à jour votre distribution Linux Debian 5.0 Lenny à Linux Debian 6.0 Squeeze
mycomputer.pngInstallation debian Sarge avec VMWare sous Ubuntu
Ce tutoriel vous présente comment installer debian Sarge dans une image virtuelle avec VMWare Player sous Ubuntu Linux
mail_generic.pngSSMTP Serveur smtp simple pour envoyer ses mails de son serveur local par le smtp de son FAI sur debian lenny
Ce petit tutoriel vous présente comment configurer rapidement un smtp sur son serveur debian lenny afin de pouvoir envoyer des mail par l'intermédiaire du smtp de son fournisseur d'accès internet