Sauvegardes automatisées · 5 min read · Jan 02, 2026
Sauvegardes Automatisées Avec rdiff-backup
Ceci est un “copier & coller” HowTo !
La manière la plus simple de suivre ce tutoriel est d’utiliser un client de ligne de commande/client SSH (comme
PuTTY
pour Windows) et de simplement copier et coller les commandes (sauf là où vous devez fournir vos propres informations comme les adresses IP, les noms d’hôtes, les mots de passe,…). Cela aide à éviter les fautes de frappe.
Sauvegardes Automatisées Avec rdiff-backup
Version 1.0
Auteur : Falko Timme
Ce tutoriel décrit comment effectuer des sauvegardes automatisées de serveur avec l’outil rdiff-backup. rdiff-backup vous permet de faire des sauvegardes sur un réseau en utilisant SSH afin que le transfert de données soit crypté. L’utilisation de SSH rend rdiff-backup très sécurisé car personne ne peut lire les données qui sont transférées. rdiff-backup effectue des sauvegardes incrémentielles, ce qui permet d’économiser de la bande passante.
Veuillez en savoir plus sur les fonctionnalités de rdiff-backup ici : http://www.nongnu.org/rdiff-backup/index.html
Le problème est que SSH nécessite un mot de passe pour se connecter, ce qui n’est pas idéal si vous souhaitez exécuter rdiff-backup en tant que tâche cron. La nécessité d’un mot de passe nécessite une interaction humaine, ce qui n’est pas ce que nous voulons. Par exemple, pour sauvegarder le répertoire /boot de server1.example.com, vous taperiez rdiff-backup [email protected]::/boot boot sur votre serveur de sauvegarde (dans ce tutoriel, nous l’appelons backup.example.com) qui essaierait de sauvegarder le répertoire /boot de server1.example.com dans le répertoire boot de backup.example.com. Voici ce qui se passe :
| rdiff-backup@backup:~$ rdiff-backup [email protected]::/boot boot Mot de passe : ----------------------------------------------------------------- Capacités détectées pour le système de fichiers source (lecture seule) : Listes de contrôle d'accès Désactivé Attributs étendus Désactivé Forks de ressources de style Mac OS X Désactivé Informations Finder de Mac OS X Désactivé ----------------------------------------------------------------- Avertissement : la propriété ne peut pas être changée sur le système de fichiers à boot/rdiff-backup-data ----------------------------------------------------------------- Capacités détectées pour le système de fichiers de destination (lecture/écriture) : Caractères nécessitant des guillemets '' Changement de propriété Désactivé Lien dur Activé fsync() répertoires Activé Permissions d'inc permissions Activé Listes de contrôle d'accès Désactivé Attributs étendus Désactivé Forks de ressources de style Mac OS X Désactivé Informations Finder de Mac OS X Désactivé ----------------------------------------------------------------- rdiff-backup@backup:~$ |
Vous voyez, à la ligne 2, on vous demande le mot de passe root de server1.example.com.
Mais heureusement, il existe une solution : l’utilisation de clés publiques. Nous créons une paire de clés (sur notre serveur de sauvegarde backup.example.com), dont l’une est enregistrée dans un fichier sur le système distant (server1.example.com). Par la suite, nous ne serons plus invités à entrer un mot de passe lorsque nous exécutons rdiff-backup. Cela inclut également les tâches cron, ce qui est exactement ce que nous voulons.
Oh, comme vous l’avez peut-être déjà deviné d’après ce que j’ai écrit jusqu’à présent, le concept est que nous initions les sauvegardes de server1.example.com directement depuis backup.example.com ; server1.example.com n’a rien à faire pour être sauvegardé.
Ce howto est destiné à être un guide pratique ; il ne couvre pas les bases théoriques. Elles sont traitées dans de nombreux autres documents sur le web.
Ce document est fourni sans garantie d’aucune sorte ! Je tiens à dire que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je choisis. Je ne donne aucune garantie que cela fonctionnera pour vous !
Étape 1 : Installer rdiff-backup Sur server1.example.com Et backup.example.com
Tout d’abord, nous devons installer rdiff-backup sur les deux server1.example.com et backup.example.com. Sur les systèmes Debian, vous pouvez simplement le faire en exécutant
apt-get install rdiff-backup
Sur d’autres distributions, l’installation est différente (sur Fedora, cela pourrait être quelque chose comme yum install rdiff-backup, sur Mandriva urpmi rdiff-backup, et sur SuSE, vous devriez utiliser yast pour installer rdiff-backup).
Étape 2 : Créer Les Clés Sur backup.example.com
Sur backup.example.com, nous créons un groupe et un utilisateur non privilégié appelé rdiff-backup. Cet utilisateur rdiff-backup exécutera les sauvegardes. Nous ne voulons pas que root exécute les sauvegardes pour des raisons de sécurité !
groupadd -g 3500 rdiff-backup
useradd -u 3500 -s /bin/false -d /backup -m -c “rdiff-backup” -g rdiff-backup rdiff-backup
La deuxième commande crée l’utilisateur rdiff-backup avec le répertoire personnel /backup (qui est créé automatiquement par cette commande s’il n’existe pas déjà) qui n’est pas autorisé à se connecter sur le shell (encore une fois pour des raisons de sécurité). Si l’ID de groupe et l’ID utilisateur 3500 sont déjà utilisés sur votre système, remplacez-les par un autre ID (libre).
Ensuite, exécutez
su -m rdiff-backup
Avec cette commande, vous devenez l’utilisateur rdiff-backup sur le shell. Toutes les commandes suivantes doivent être exécutées en tant qu’utilisateur rdiff-backup !
Créez les clés :
cd /backup
ssh-keygen -t rsa
Vous verrez quelque chose comme ceci :
| rdiff-backup@backup:~$ ssh-keygen -t rsa Génération d'une paire de clés rsa publique/privée. Entrez le fichier dans lequel enregistrer la clé (/backup/.ssh/id_rsa) : Répertoire créé '/backup/.ssh'. Entrez la phrase secrète (vide pour aucune phrase secrète) : Entrez à nouveau la même phrase secrète : Votre identification a été enregistrée dans /backup/.ssh/id_rsa. Votre clé publique a été enregistrée dans /backup/.ssh/id_rsa.pub. L'empreinte de la clé est : 88:18:4e:55:e9:27:8e:2a:44:4b:03:bd:9d:0f:fc:48 rdiff-backup@backup |
Il est acceptable d’enregistrer la clé dans /backup/.ssh/id_rsa, donc vous pouvez simplement appuyer sur entrer. Il est important de ne pas entrer de phrase secrète, sinon la sauvegarde ne fonctionnera pas sans interaction humaine, donc encore une fois, appuyez sur entrer. À la fin, deux fichiers sont créés : /backup/.ssh/id_rsa et /backup/.ssh/id_rsa.pub.
Ensuite, créez le fichier /backup/.ssh/config avec le contenu suivant :
| host server1_backup hostname server1.example.com user root identityfile /backup/.ssh/id_rsa compression yes cipher blowfish protocol 2 |
La valeur de host est ce que nous utilisons plus tard pour démarrer la sauvegarde. Vous pouvez utiliser n’importe quel nom que vous aimez (par exemple server1_backup, this_is_the_machine_i_want_to_backup, etc.) (mais il ne doit pas contenir d’espaces ; les traits de soulignement sont acceptables).
Changez les permissions de ce fichier :
chmod -R go-rwx /backup/.ssh
Maintenant, nous copions notre clé publique sur server1.example.com :
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Cela ressemblera à ceci :
| rdiff-backup@backup:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected] 23 L'authenticité de l'hôte 'server1.example.com (1.2.3.4)' ne peut pas être établie. L'empreinte de la clé RSA est c7:19:55:7a:54:ce:93:c8:b6:f9:0e:e3:65:24:64:11. Êtes-vous sûr de vouloir continuer à vous connecter (oui/non) ? oui Avertissement : 'server1.example.com' (RSA) a été ajouté de façon permanente à la liste des hôtes connus. Mot de passe : Essayez maintenant de vous connecter à la machine, avec "ssh '[email protected]'", et vérifiez dans : .ssh/authorized_keys pour vous assurer que nous n'avons pas ajouté de clés supplémentaires que vous n'attendiez pas. rdiff-backup@backup:~$ |
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.