deb-on-air logo
Actualisé le 21/02/2007

Faire des sauvegardes

Quiconque voudrait utiliser son système efficacement devrait faire des sauvegardes régulières de ses données importantes et des paramétrages critiques au cas où un incident, forcément imprévisible, survienne : accident de disque dur, infection par un virus (peu commun sous GNU/linux), erreur de manipulation lors d'une installation ou d'une mise-à-jour (ou quand on met sa Sidux à niveau), ou quand après une quelconque opération influant sur le système, celui-ci est devenu instable.

L'habitude des sauvegardes est pourtant souvent négligée, bien qu'elle soit facile à appréhender et très utile. Beaucoup d'utilisateurs attendent malheureusement qu'un incident grave leur soit arrivé, avant de comprendre le gain considérable en efforts et en temps de travail que cette bonne habitude peut leur épargner.

Il est généralement conseillé de faire une sauvegarde hebdomadaire sur un support (disque dur, CD ou DVD), qui dans l'idéal serait stockée dans un endroit différent de celui où se trouve l'ordinateur sauvegardé.

Dans ce chapitre, nous traiterons rapidement l'utilisation de l'interface K3B pour la gravure de médias, notamment pour graver des sauvegardes sur CD et DVD. Nous décrirons aussi comment, avant d'installer Sidux, vous allez pouvoir sauvegarder une partition Windows et comment également sauvegarder une partition spécifique de données, si vous en disposez d'une.

Il fait sens d'être équipé d'une partition spécifique en FAT32, qui permet de partager ses données entre GNU/Linux et MS Windows, s'il on utilise encore ce système d'exploitation.

NTFS ne permet pas ce type de versatilité.

La gravure de médias avec K3b

Vous pouvez graver avec le CD-ROM Sidux !
Si vous disposez d'un espace de 700 Mo libre sur une partition fat32 ou linux, le Cd vous permet de copier son contenu au démarrage sur celle-ci afin de démarrer à partir d'une archive et libérer votre graveur si nécessaire. La prodédure est expliquée au chapitre détaillant les options de démarrage.

Lancez le logiciel K3B, accessible depuis une console en entrant k3b ou au 'Menu K -> Multimédia -> K3B'.

L'aide de K3B est disponible en Anglais dans le programme mais n'est pas encore traduite en français.

K3b se présente sous la forme d'une interface pourvue de plusieurs fenêtres et permet de choisir le type de média que vous voulez créer en fonction de votre besoin ainsi que du type de graveur et du type support en votre possession.

K3b permet deux classes distinctes de travaux :

Ainsi vous y sera-t-il toujours possible d'élaborer tout type de projet de média, y compris des projets de DVD, mais bien entendu, pour graver un projet de DVD, vous devrez être équipé d'un graveur DVD et disposer d'un DVD vierge.

Construire le projet de média

Nous allons parler de création de supports de données, accessibles via les commandes respectives :

La fonction activée, la partie haute de l'interface permet de naviguer dans votre système de fichiers suivant les mêmes principes que ceux prévalant dans Konqueror. Lorsque vous accédez aux répertoires et fichiers qui vous intéressent, il vous suffit de les faire glisser dans la fenêtre inférieure du programme : c'est la fenêtre de projet.

Vous pouvez à tout moment modifier la structure du projet de CD ou DVD que vous préparez en utilisant la sélection individuelle ou collective des fichiers et répertoires dans la fenêtre de projet, et le menu contextuel qui leur correspond, accessible par clic-droit sur ceux-ci.

Vous pouvez modifier les noms des structures de répertoires et des fichiers, et classer tout cela à votre fantaisie. Les contenus originels resteront inchangés, et la ré-ordonnance s'opérera seulement au stade du stockage en cache de l'image du média à graver, à l'étape de gravure proprement dite du média.

Prenez garde par contre à la fenêtre de navigation supérieure, dans laquelle comme dans Konqueror, des modifications irrémédiables sont possibles comme la suppression des fichiers et répertoires. Attendez d'avoir bien vérifié votre média gravé, avant de supprimer les fichiers originaux dont vous ne voudriez plus sur vos disques durs.

L'occupation des répertoires et fichiers sélectionnés dans le projet de média est figurée sous la forme d'une barre verte en bas de l'écran. Sa couleur vire au jaune puis au rouge lorsque la capacité du support choisi pour le projet devient insuffisante.

Il est sage d'éviter la saturation du support de gravure en y laissant un peu d'espace inutilisé. Cela notamment parce que les données étant gravées de l'intérieur vers l'extérieur des supports, et la partie extérieure étant la plus souvent manipulée, les données gravées sur cette partie ont le plus de chance d'être altérées dans le temps.

Votre projet enfin prêt, vous avez la possibilité de sauver le script de création de votre média, ou de passer immédiatement à l'étape de la gravure. Notez que si vous sauvez ce projet pour une gravure future, il vous faudra conserver les fichiers et répertoires sources tels qu'ils étaient au moment de la conception du projet.

La gravure de médias

La configuration de K3B peut permettre de dépasser la capacité nominale de certains supports mais il est totalement déconseillé d'utiliser cette fonctionnalité pour effectuer des sauvegardes.

Votre projet une fois prêt, appuyez sur le bouton "Graver" (Burn)

Une nouvelle boîte de dialogue s'ouvre : c'est la fenêtre de gravure.

Pourvue d'onglets, cette fenêtre permet de spécifier des options avant de procéder à la gravure.

À l'onglet "Paramètres", portez attention au menu déoulant "mode de multissession" qui vous offre la possibilité de commencer ou poursuivre la gravure (d'un cd-rom exclusivement, K3b ne gère pas les DVD multissessions) d'un CD Multissession ou de graver le CD en une seule session ('pas de multisession' recommandé si le projet de disque est sensé occuper la majeure partie du support). Il est recommandé de fixer ce paramètre, plutôt que laisser K3B en décider automatiquement. Vous prendrez ainsi l'habitude de vérifier une option importante au bon déroulement des gravures.

À propos des multisessions
Si la plupart des logiciels de gravure permettent de créer des CD-ROM multissessions (sur lesquels on peut ajoûter de nouvelles données à des données déjà écrites, jusqu'à ce que le support soit entièrement occupé), aucun de ces logiciels ne permet de poursuivre sans échec l'écriture d'un multissession commence avec un autre logiciel.
Donc si vous créez un CD-ROM multisessions avec K3B, n'utilisez que K3B pour y ajoûter des sessions.
Et si vous disposez d'un CD-ROM multisession créé par un autre logiciel, et sur lequel vous disposeriez d'espace disponible, ne tentez pas de la poursuivre avec K3B.

L'onglet "Avancé" vous permet de configurer des options utiles à la bonne reconnaissance des fichiers de votre sauvegarde sous Windows. Fixer l'extension Joliet à 103 caractères et permettre la présence d'espaces dans les noms de fichiers (Il est du reste fortement recommandé d'éviter de nommer vos fichiers et répertoires en utilisant des espaces et des caractères autres qu'ASCII de niveau 1), peut aider à la lecture et à la sauvegarde de fichiers créés dans cet environnement.

Explorez l'interface de K3B et en particulier les options offertes par les boîte de dialogue de gravure. La fixation d'une vitesse modérée de gravure notamment, peut prévenir l'occurence d'erreurs.

K3b vous propose également un mode spécial de gravure, permettant la sauvegarde des droits associés aux fichiers (mode de sauvegarde) ; cette option est accessible via la case-à-cocher de la rubrique "permissions", dans l'onglet "systèmes de fichiers" de la fenêtre de gravure.

Lorsque tout est vérifié, appuyez sur bouton "Graver" de la boîte de dialogue de gravure (Burn).

Une gravure réussie, l'exécution se termine sans alerte, et le Cd est éjecté. Montez-le en lecture ensuite et vérifiez les données écrites s'il s'agit de sauvegarder des fichiers importants. Vérifiez bien jusqu'à l'intérieur des sous-répertoires à l'aide de Konqueror.

Sauvegarde d'une partition Windows avec Partimage

Faire une sauvegarde de la partition où est installé MS Windows peut s'effectuer facilement à partir du Live-CD Sidux et du programme embarqué partimage.

Mais avant d'y procéder, il sera impératif que vous défragmentiez votre partition Windows (par exemple avec Diskeeper ou le défragmenteur standard de cet OS). Cette précaution reste valide quelque soit l'outil de sauvegarde utilisé ensuite (qu'il s'agisse de progiciel Windows ou autres). Elle est d'autant plus recommandée pour les partitions NTFS, que ce système de fichier n'est encore géré que partiellement, et à titre expérimental par Partimage ! De surcroit vous devrez ensuite lancer un "test backup" de la partition Windows afin de vérifier n'obtenir aucun message d'erreur. Si aucune erreur n'est à déplorer, il ne devrait alors y avoir aucun problème pour restaurer la partition depuis la sauvegarde.

A. Faire la Sauvegarde

Dans cet exemple, nous partirons du principe que Windows est installé sur /dev/hda1 et que nous effectuons une sauvegarde vers un disque dur externe, reconnu comme /dev/sda1.

Après avoir démarré avec le Live-CD Sidux et ouvert une console root depuis le menu Sidux (Sidux Menu -> Root Shell), nous allons monter la partition Windows ainsi que le disque dur externe:

# mount /dev/hda1
# mount /dev/sda1 /media/sda1

Dès lors, utilisant la commande

# df -h

nous pouvons vérifier si un espace disque suffisant est disponible sur disque dur externe pour la sauvegarde. Si c'est le cas, alors on peut démarrer le programme de sauvegarde en entrant la commande

# partimage

En premier lieu, et à l'aide des touches fléchées du clavier, nous allons sélectionner la partition que nous voulons sauvegarder. Dans notre exemple, c'est hda1.

Ensuite, à l'aide de la touche TAB, nous nous déplaçons vers le champ "Image File to create/use" (Fichier image à créer/utiliser). "Image" est le terme consacré pour désigner la copie exacte d'un support (Disque Dur, disquette, partition, CD ou DVD), qui contient également toute l'information sur la structure originelle de ce support.

Nous entrons alors le nom de fichier choisi dans cette forme /media/sda1/nomdufichier

/media/sda1/backup20051205.gz (gz pour gzip), par exemple

Puis avec TAB nous activons le champ "Action to be Done" (Actions à effectuer). Si aucune astérisque ne figure à la hauteur de l'option "Save partition into a new image file" (Sauver la partition dans un nouveau fichier d'image), à l'aide de la barre espace, nous en plaçons une.

Après quoi, au moyen de la touche Touche F5 nous nous déplaçons vers l'écran suivant.

Du fait de son pouvoir de compression nous choisissons l'algorythme gzip (flèche vers le bas, barre espace) et nous décochons "Enter description" (Description de l'entrée). Après un nouvel appui sur F5, la création de la sauvegarde est lancée.

Quand partimage a terminé la création de la sauvegarde, nous utilisons la commande

# cd /media/sda1

pour aller voir dans le répertoire où elle est stockée, dans lequel un ou plusieurs fichiers ont été créés. La taille des fichiers peut être paramétrée dans les menus de Partimage. Par défaut, la sauvegarde est découpée en fichiers de 2 GB maximum. Cette taille atteinte par un paquet de données, Partimage écrit la suite dans un nouveau fichier. Cela donne par exemple backup20051205.000, backup20051205.001, backup20051205.002, etc. Ce tronçonnement des fichiers est d'autant plus pratique de le système de fichiers FAT32 de Win95 ne reconnaît pas les fichiers de plus de 2 GB. (!)

Nous pouvons ensuite assigner des droits en lecture seule à ces fichiers pour prévenir de leur effacement accidentel. Ceci s'opère par la commande :

# chmod +r nomdufichier

dans notre exemple...

# chmod +r backup20051205.000.gz
# chmod +r backup20051205.001.gz
# chmod +r backup20051205.002.gz

Et Voilà ! La sauvegarde est effectuée et nous gardons la permission de lire les fichiers. Nous pouvons alors démonter le disque dur externe,

# umount /dev/sda1

fermer la console administrateur, et éteindre l'ordinateur.

B. Restaurer la partition depuis sa sauvegarde

Après avoir démarré le Live-CD Sidux et ouvert une console root depuis le menu Sidux (Sidux Menu -> Root Shell), nous allons monter le disque dur externe:

# mount /dev/sda1 /media/sda1

Puis nous lançons partimage par la commande :

# partimage

Dans la section "Partition to save/restore" (Partition à sauvegarder/restaurer) nous sélectionnons la partition destinée à être restaurée. Dans notre exemple, hda1.

Ensuite, à l'aide de la touche TAB, nous nous déplaçons vers le champ "Image File to create/use" (Fichier image à créer/utiliser), et y entrons le chemin et le nom de notre sauvergarde (dans l'exemple ce sera /media/sda1/backup20051205.000.gz). Il est très important de spécifier l'intégralité du nom de la sauvegarde y compris sa terminaison 000.gz! Puis avec TAB nous activons le champ "Action to be Done" (Actions à effectuer) pour sélectionner (flèches, barre espace) "Restore partition from an image file" (Restaurer la partition depuis un fichier d'image).

Puis avec F5 rallions la page suivante.

Nous pouvons accepter les options proposées par défaut et simplement appuyer sur F5 pour lancer le processus de restauration.

Et c'est fait!

Nous pouvons alors démonter le disque dur externe,

# umount /dev/sda1

fermer la console administrateur, et éteindre l'ordinateur... Le système est à présent restauré

Une interface graphique partclony ,
créée spécialement pour Sidux, permet d'utiliser Partimage. Elle adjoint le support des systèmes de fichiers reiser4 (partimage ne le fait pas). Elle n'est toutefois pas intégrée au CD de Sidux et doit être téléchargée (depuis le lien ci-dessus) et installée.
Précisons aussi qu'il existe un programme KDE appelé KDE Disk Archiver, KDar, flexible et aisé à l'emploi pour créer des sauvegardes.

La sauvegarde incrémentale de partitions de données avec rsync

Il serait plutôt fastidieux de devoir à chaque fois sauvegarder l'intégralité d'une partition de données, d'autant qu'elle peut contenir une quantité industrielle de fichiers (songez par exemple à tous les tronçons de video importées de caméras numériques - rush - ou aux tonnes d'images d'un appareil photo). Dans cette optique il est plus pratique de sauvegarder une première fois l'ensemble des données de la partition, pour ne modifier ensuite sur la sauvagarde que les fichiers ajoûtés par la suite ou ceux qui auraient été modifiés, effaçant éventuellement les fichiers et répertoires supprimés de la partition originelle.

C'est ce qui s'appelle une sauvegarde incrémentale. Le répertoire /home d'une installation Sidux peut être aisément sauvegardée régulièrement au moyen de cette méthode.

Le programme utilisé à cette fin s'appelle rsync.

On démarre le Live-CD de Sidux. On suppose ici que les données soient localisées sur /dev/hda2.

Nous ouvrons une console root et montons notre partition de données et notre disque dur externe via les commandes :

# mount /dev/hda2 /media/hda2
# mount /dev/sda1 /media/sda1

Puis avec la commande :

# rsync -av --delete /media/hda2/home /media/sda1

nous sauvegardons le contenu de /home sur le disque dur externe.

Les options passées ici à rsync signifient:

Au cas où vous voudriez restaurer votre partition de données à partir de sa sauvegarde, là encore à l'aide du Live-CD Sidux et en ouvrant une console root. Montez la partition de données et le disque externe :

# mount /dev/hda2 /media/hda2
# mount /dev/sda1 /media/sda1

Et avec la commande:

# rsync -av --delete /media/sda1/home/ /media/hda2/home

nous recopions tous les répertoires et fichiers. Il est important d'ajoûter le slash (/) à la fin de la ligne définissant la source --/media/sda1/home/. Cela garantit que seules les données situées en aval du répertoire /media/sda1/home seront recopiées et non le répertoire home lui-même, qui existe déjà dans /media/hda2.

Sauvegarde avec Rdiff-backup

Rdiff-backup est un outil servant à sauvegarder vos fichiers. Il peut utiliser variété de ports *nix.

Sidux vous offre le choix de l'utiliser comme vous préférerez : en l'activant vous-mêmes ou au moyen de scripts. Vous trouverez le version scriptée par h2 sur http://techpatterns.com/forums/about831.html (en).

Utilisez rdiff par vous-même

Lancez systématiquement ces commandes en mode administrateur (root) depuis un terminal, à moins d'être invité à faire autrement.

Caractéristiques de rdiff:

Ce dont vous aurez besoin

Rdiff-backup garde une copie intégrale et non-compressée des fichiers que vous lui demandez de sauvegarder, ainsi que crée un historique incrémental. Aussi aurez-vous besoin pour votre sauvegarde d'un espace disque substantiellement plus volumineux que celui qu'occupent vos fichiers originaux. Si vous sauvegardez 100 Go, vous pourrez avoir besoin d'un espace de 120 Go (sur un disque dur différent, de préférence !)

Comment configurer rdiff

Imaginons que votre Pc se présente comme suit :

Première chose à faire, installer rdiff-backup :

# apt-get install rdiff-backup

Ici même si vous pouvez sauvegarder n'importe quel répertoire, nous décrivons la sauvegarde de l'intégralité de partitions. Nous voulons sauvegarder hda1 et hda5 (et pas hda6), et donc nous créons des répertoires pour stocher leurs données :

# mkdir /media/hdb1/rdiff-backups/192.168.0.1/root
# mkdir /media/hdb1/rdiff-backups/192.168.0.1/hda5

Votre adresse IP distinctive est utile, car si cet ordinateur doit servir à sauvegarder le contenu d'un autre, procédure décrite plus loin, elle vous sera indispensable.

Procéder à la sauvegarde

rdiff-backup utilise la syntaxe rdiff-backup répertoire-source répertoire-cible.

Avec rdiff utilisez toujours des identités de répertoires et jamais celles de fichiers.

Pour sauvegarder hda5, entrez :

# rdiff-backup /media/hda5 /media/hdb1/rdiff-backups/192.168.0.1/hda5

Et pour sauvegarder votre partition racine hda1, entrez :

# rdiff-backup --exclude '/tmp/*' --exclude '/proc/*' --exclude '/sys/*' \
> --exclude '/media/*/*' / /media/hdb1/rdiff-backups/192.168.0.1/root

Tout signalement de type "AF_UNIX path too long" peut être négligé. Le processus peut être lent si c'est la première fois que la partition est sauvegardée, et qu'il faut pour le faire en copier l'intégralité du contenu (et pas seulement les différences). Notez que nous n'avons aucune utilité à sauvegarder /tmp, /proc ou /sys puisque ceux-ci ne contiennent aucune donnée réelle ; de la même manière que nous ne voulons pas sauvegarder les partitions montées, puisque si nous le faisions nous demanderions la sauvegarde de hdb5, ce qui nous entrainerait dans un cycle infini ! La procédure pour sauvegarder nos partitions montées consistera bien sûr à le faire pour chacune séparément.

La raison d'être de l'instruction 'proc/*' et non de '/proc' tout court est de permettre une copie du seul répertoire sans procéder à celle de son contenu. La syntaxe utilisée est la même, et pour les mêmes raisons, pour /temp, /sys et les points de montage.

De cette manière si vous détruisez votre partition racine et demandez ensuite sa restauration intégrale, les répertoires correspndant à /tmp, /proc, /sys et ceux ou seront montés les systèmes de fichiers de vos partitions seront re-créés. Si /tmp n'existe par au lancement du serveur X, celui-ci peut s'en plaindre. Consultez la page man pour plus d'information sur --include et --exclude.

Restaurer des répertoires depuis une sauvegarde

Rdiff-backup utilise la syntaxe :

rdiff-backup -r <depuis-moment> <répertoire-source> <répertoire-cible>

Donc par exemple si par erreur vous auriez malencontreusement effacé le répertoire /media/hda5/photos, vous pourriez le restaurer en entrant :

# rdiff-backup -r now /media/hdb1/rdiff-backups/192.168.0.1/hda5/photos\
> /media/hda5/photos

L'option "-r now" commande un restauration à partir de la sauvegarde la plus récente. Si vous avez tout sauvegardé à intervales réguliers (avec cron, par exemple) et n'aviez pas réalisé avant plusieurs jours que le répertoire de photos ait été effacé, vous devriez restaurer à partir d'un état datant de quelques jours (et pas avec "now", qui considère le répertoire /photos comme inexistant). Ceci peut aussi être utile à rétablir l'état antérieur de tout type de donnée.

Pour restaurer par exemple depuis un état datant de trois jours, utilisez la syntaxe "-r 3D"...mais comme les pages man l'expliquent :

"3D" se réfère à l'instant situé à 72 heures avant la commande, et si aucune sauvegarde n'existe correspondant à ce délai, rdiff-backup restaure l'état de la sauvegarde y étant immédiatement antérieure. Dans notre cas, si "3D" est utilisé, et que des sauvegardes disponibles n'existent que datant de 2 ou 4 jours, le répertoire sera restauré comme il se trouvait il y a quatre jours (vous devez avoir cela à l'esprit avant de procéder à vos restaurations).

La commande qui suit va vous permettre de visualiser la liste datée des dernière sauvegardes pour hda5:

# rdiff-backup -l /media/hdb1/rdiff-backups/192.168.0.1/hda5
Restaurer les partitions

Vous pouvez restaurer des partitions entières (montages) puisque après tout, les points de montage ne sont que des répertoires.

ATTENTION ! Ne tentez jamais la restauration d'une partition racine en cours d'utilisation ! Par cette commande vous effaceriez tous les fichiers de toutes vos partitions, y compris celles contenant les sauvegardes sur un disque séparé !! rdiff-backup exécute scrupuleusement ce que vous lui demandez...si la sauvegarde d'une partition racine a des points de montages vides, afin de restaurer la partition en l'état, il efface tout ce qui peut exister sur ces points de montage, pour faire correspondre la cible à la sauvegarde.

Pour restaurer hda5 depuis sa dernière sauvegarde, on entrera simplement :

# rdiff-backup -r now /media/hdb1/rdiff-backups/192.168.0.1/hda5 /media/hda5

Pour restaurer une partition racine

Restaurer une partition racine appelle à précautions et cinconspection.

Tout d'abord, ne tentez pas l'opération si cette partition est montée, comme le rappelle l'avertissement plus haut.

Il est vraiment utile de pouvoir y procéder, d'autant plus que la procédure ne prendra pas longtemps. Mais assurez-vous d'avoir bien lu les informations fournies dans ce manuel avant de la tenter.

Une manière d'y procéder consiste à démarrer sur un autre système Linux, installé sur une autre partition, si vous en disposez sur votre ordinateur. Dans ce cas, vous pourrez réinstaller la partition en question facilement, puisqu'elle sera pas votre partition racine en cours d'utilisation. Après la restauration vous pourrez à nouveau démarrer à partir de la partition restaurée, qui se présentera exactement telle qu'elle était au moment de sa sauvegarde. C'est à l'évidence la plus simple des méthodes.

Une autre méthode passe par le démarrage à partir du Live-CD de Sidux, en opérant la restauration depuis celui-ci. Normalement rdiff-backup est intégré au Live-CD mais le cas où celui dont vous disposeriez n'inclurait pas rdiff, entrez dans grub au démarrage du cd (voir options), l'option "unionfs" qui vous permettra d'installer des applications avec le live-cd. Le démarrage Live effectué entrez ces commandes :

$ sudo su
# wget -O /etc/apt/sources.list http://sidux.com/files/misc/sources.list
# apt-get update
# apt-get install rdiff-backup
Procédure de restauration
# mount /dev/hda1 /media/hda1
# mount /dev/hdb1 /media/hdb1
# rdiff-backup -r now /media/hdb1/rdiff-backups/192.168.0.1/root /media/hda1

Si vous utilisez une autre live-cd que Sidux qui embarque Klik, vous pouvez nstaller rediff-backup avec klic puis lancer :

$ sudo ~/.zAppRun ~/Desktop/rdiff-backup_0.13.4-5.cmg rdiff-backup \
> -r now /media/hdb1/rdiff-backups/192.168.0.1/root /media/hda1

Il est fortement recommandé à toute personne entendant procéder à des sauvegardes de sa partition racine (dans l'intention de pouvoir la restaurer en cas de besoin), de tester le processus de restauration. Il n'existe rien de pire qu'imaginer que tout ira bien pour s'apercevoir d'une anomalie au moment critique.

Sauvegarder des PC distants

Vous pouvez sauvegarder d'autres PC dans un ordinateur local, du moment où vous pouvez vous y connecter en utilsant ssh (et si bien entendu votre espace disque est suffisant). Le serveur ssh (sshd) doit se trouver actif sur la machine distante. La machine n'a pas besoin d'appartenir à votre réseau local mais peut être située à n'importe que endroit dans le monde.

Admettons que cet ordinateur distant dispose :

  1. Un disque dur de 100 gigas (hda) en service, avec pour partitions complémentaires montées :
  2. hda1 utilisée comme racine
  3. hda5 utilisée pour le stockage de données qu'ici nous n'avons pas l'intention de sauvegarder
  4. et hda6 pour swap.
  5. Une adresse IP 192.168.0.2

Deux disques de 100 Gigas ne sauraient normalement être sauvegardés sur un disque de 200 Gigas en utilisant rdiff-backup (sinon il n'y aurait aucun espace pour les fichiers d'incrément) mais étant donné que vous ne sauvegardez pas la partition hda5 de l'ordinateur distant (voire même que les partitions sont rarement pleines - mais vous y fier) alors vous puvez estimer disposer de suffisamment d'espace. Mais souvenez-vous que rdiff-backup crée de plus en plus de fichiers d'incrément à mesure qu'il procède à des sauvegardes successives, et qui conduisent ces dernières à occuper de plus en plus d'espace disque.
Vous pouvez demander à rdiff-backup de ne garder en mémoire qu'un maximum d'un mois de sauvegardes, comme nous l'expliquons plus loin, et ceci prendra évidemment moins d'espace que la mémorisation des sauvegardes de toute une année.

La première chose à faire sera d'installer rdiff-backup sur l'ordinateur distant. Tout ordinateur à exploiter avec rdiff-backup doit disposer de cet outil installé.

Pour sauvegarder le PC distant dans le PC local, lancez dans le PC local (IP 192.168.0.1 dans notre exemple) - en notant l'utilisation en double-colonne :

# mkdir /media/hdb1/rdiff-backups/192.168.0.2/root
# rdiff-backup --exclude '/tmp/*' --exclude '/proc/*' --exclude '/sys/*'\
> --exclude '/media/*/*' 192.168.0.2::/ /media/hdb1/rdiff-backups/192.168.0.2/root
Pour restaurer les données de l'ordinateur distant

La commande de restauration peut être lancée aussi bien depuis l'ordinateur local que depuis l'ordinateur distant.

Pour restaurer un répertoire /usr/local/games sur ordinateur distant, en lançant la commande depuis cet ordinateur:

# rdiff-backup -r now 192.168.0.1::/media/hdb1/rdiff-backups/192.168.0.1/root/usr/local/games\
> /usr/local/games

Pour restaurer un répertoire /usr/local/games sur ordinateur distant, en lançant la commande depuis l'ordinateur local:

# rdiff-backup -r now /media/hdb1/rdiff-backups/192.168.0.1/root/usr/local/games\
> 192.168.0.2::/usr/local/games

Utilisez les mêmes syntaxes en restaurant votre partition racine depuis un live-cd (lorsque l'ordinateur distant a été démarré à partir du CD - cf les instructions plus haut).

Automatisation des sauvegardes

Si vous sauvegardez d'autres pc sur votre pc local, la première chose à faire est d'y autoriser les connexions ssh sans mot-de-passe avec utilisation de clés ssh. Note: nous parlons ici de connexion distantes 'password-less' en tant tant qu'administrateur (root). Celles-ci peuvent être paramétrées afin de n'être possible que pour exécuter les commandes de rdiff-backup, mais ce sujet outrepasse celui qui nous ocvcupe dans ce chapitre. Reportez-vous à SSH Configuration. Nous admettrons ici utiliser la méthode la plus confiante et simple pour obtenir des connexions sans mot-de-passe.

Depuis le pc local, faites ce qui suit :

# [ -f /root/.ssh/id_rsa ] || ssh-keygen -t rsa -f /root/.ssh/id_rsa

et pressez deux fois la touche "Entrée" pour les mots-passe-nuls. Et ensuite :

# cat /root/.ssh/id_rsa.pub | ssh 192.168.0.2 'mkdir -p /root/.ssh;\
> cat - >>/root/.ssh/authorized_keys2'

Vous serez invité à entrer votre mot-de-passe d'administrateur (root)

Dès ce moment vous pourrez vous connecter en ssh au pc distant sans devoir entrer votre mot-de-passe, et l'utilisation de rdiff-backup pourra s'automatiser.

L'étape suivante consiste à créer un script bash qui contienne toutes vos commandes à rdiff-backup. Notre script bash peut ressembler à ceci :

#!/bin/bash
RDIFF=/usr/bin/rdiff-backup
echo
echo "=======Backing up 192.168.0.1 root======="
${RDIFF} --ssh-no-compression --exclude '/tmp/*' --exclude '/proc/*'\
 --exclude '/sys/*' --exclude '/media/*/*'\
 / /media/hdb1/rdiff-backups/192.168.0.1/root
echo "(purge des increments de plus de 1 mois)"
${RDIFF} --remove-older-than 1M\
 --force /media/hdb1/rdiff-backups/192.168.0.1/root
echo
echo "=======Backing up 192.168.0.1 mount hda5======="
${RDIFF} --ssh-no-compression --exclude /media/hda5/myjunk /media/hda5\
 /media/hdb1/rdiff-backups/192.168.0.1/hda5
echo "(purge des increments de plus de 1 mois)"
${RDIFF} --remove-older-than 1M\
 --force /media/hdb1/rdiff-backups/192.168.0.1/hda5
echo
echo "=======Backing up 192.168.0.2 root======="
${RDIFF} --ssh-no-compression --exclude '/tmp/*' --exclude '/proc/*'\
 --exclude '/sys/*' --exclude '/media/*/*' --exclude '/mnt/*/*'\
 192.168.0.2::/ /media/hdb1/rdiff-backups/192.168.0.2/root
echo "(et purge des increments de plus de 1 mois)"
${RDIFF} --remove-older-than 1M\
 --force /media/hdb1/rdiff-backups/192.168.0.2/root

Vous pouvez nommer ce script ""mesrdiff-backups.bash" et le disposer dans le répertoire /usr/local/bin de votre ordinateur local (serveur de backups), et le convertir en exécutable. Lancez-le pour vous assurer qu'il fonctionne.

Pour finir vous pouvez par exemple demander à cron de le lancer tous les soirs à 20h. La ligne suivante dans le crontab de root fera l'affaire, en appelant :

# crontab -e
et insérez la ligne suivante
0 20 * * * /usr/local/bin/mesrdiff-backups.bash