Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
securite:sauvegarde_incrementielle_et_automatique_de_son_home [Le 03/01/2007, 12:31]
ostaquet effacée
— (Version actuelle)
Ligne 1: Ligne 1:
-{{tag>​hoary breezy dapper edgy securite backup}} 
  
----- 
- 
-====== rdiff-backup : Solution de sauvegarde incrémentielle ====== 
- 
-Faire des sauvegardes différentielles journalières de son ''/​home''​ et supprimer les sauvegardes vieilles d'une semaine par exemple. Ceci est réalisé via le logiciel **rdiff-backup**. J'​explique également comment tout automatiser. 
- 
-===== Installation ===== 
- 
-Pour installer **rdiff-backup**,​ il vous suffit de lancer la commande suivante : 
-<​code>​ 
-sudo apt-get install rdiff-backup 
-</​code>​ 
- 
-===== Utilisation ===== 
- 
-==== Faire la sauvegarde ==== 
-Voici la commande qui permet de faire une sauvegarde : 
-  rdiff-backup --exclude /​home/​mon_login/​.aMule /​home/​mon_login /rep_save 
- 
-Ici on sauvegarde tout le ''/​home/​mon_login''​ sauf le repertoire ''​./​aMule''​ dans le dossier de destination ''/​rep_save''​. 
- 
-Si ''/​rep_save''​ n'est pas vide, un message nous indique qu'il faut utiliser l'​option ''​--force''​ et dans ce cas, son contenu est supprimé. Donc attention, dans ce cas, à sauvegarder le contenu de ''/​rep_save''​ au préalable. 
- 
-==== Supprimer des sauvegardes ==== 
-Pour supprimer les différences accumulées au fur et à mesure que l'on a ajouté des sauvegardes : 
-  rdiff-backup --remove-older-than 1W --force /​le_repertoire_de_sauvegarde 
- 
-Ici on enlève toutes les modifications enregistrées vieilles de plus d'une semaine. On peut mettre ''​D(ay)'',''​W(eek)'',​ ''​M(onth)''​ et ''​Y(ear)''​. 
- 
-S'il il y a plusieurs sauvegardes à supprimer, la commande échoue. C'est pourquoi il faut rajouter le paramètre ''​--force''​ pour ne pas prendre cette erreur en compte et que **rdiff-backup** effectue bien ce qu'on lui demande. 
- 
-==== Tester un backup ==== 
-Pour vérifier que nos sauvegardes fonctionnent bien, on peut restaurer une sauvegarde : 
-  rdiff-backup -r now /​repertoire_de_sauvegarde /​repertoire_de_restauration 
- 
-L'​option ''​-r now''​ permet de remettre la version de la sauvegarde la plus récente. On peut remonter dans les sauvegardes,​ par exemple remettre le repertoire d'il y a 3 jours avec l'​option ''​-r 3D''​. 
- 
- 
-===== Automatiser les sauvegardes ===== 
-Voici la partie vraiment intéressante : comment faire pour que nos commandes précédentes se lancent de façon automatique,​ de façon à ce que l'on ait pas à les faire manuellement chaque jour ? 
- 
-==== Journaliser les tâches ==== 
- 
-Tout d'​abord quelques mots sur les logiciels journalisation de tâches : 
-Actuellement on dispose de trois outils sous linux pour cela : 
-  * **[[:at]]** qui permet de définir des tâches à réaliser à un instant précis et si la machine est éteinte à ce moment là, la tâche sera réalisée au prochain démarrage. Utilisable par tout le monde. 
-  * **[[:​cron]]** peut definir des tâches périodiques mais c'est un daemon donc si la machine est éteinte, la commande ne se lancera pas du tout. Utilisable par tout le monde. 
-  * **[[:​anacron]]** lance des tâches de facon périodique et si l ordinateur n'​était pas allumé au moment voulu, la tâche s'​exécutera au prochain démarrage. Utilisable uniquement par root. 
- 
-Dans notre cas, nous allons utiliser [[:cron]], cron utilise la crontab qui permet d'​indiquer les tâches que l'on veut réaliser et à quelle fréquence. 
- 
-Pour éditer la crontab, il suffit de faire : 
-  crontab -e 
- 
-Pour journaliser notre tâche, on indique à [[:cron]] d'​exécuter le script ''​~/​sauve_mon_dossier.sh''​ chaque jour à 20h00. ​ 
- 
-On met donc la ligne suivante dans notre crontab : 
-  00    20    *    *     ​* ​   ~/​sauve_mon_dossier.sh 
- 
-Celle-ci signifie //tous les jours à 20h00 lance le script ''/​root/​sauve_mon_dossier.sh''​ //. **C'​est bien les minutes d'​abord et les heures ensuite, il n'y a pas d'​erreur.** Pour plus d'​informetions sur le formalisme du ''​crontab'',​ je vous invite à consulter [[:​cron|cette page]]. 
- 
- 
-==== Le script ==== 
- 
-Ensuite, il reste à faire le script pour lancer les sauvegardes. 
-On édite donc le fichier ''​~/​sauv_mon_dossier.sh''​ avec son éditeur favori et on y insère les lignes suivantes : 
-  #!/bin/sh 
-  nice -n 19 rdiff-backup --exclude /​home/​login/​.aMule /home/login /mnt/save && nice -n 19 rdiff-backup --remove-older-than 1W --force /mnt/save 
- 
-Le ''​nice -n 19''​ signifie que lorsqu'​on lance les commandes, elles s'​exécutent avec la priorité la plus petite par rapport aux autres processus, ceci afin d'​éviter que l'​ordinateur ne se mette à ramer tous les jours à 20h00. 
- 
-On sauvegarde le script et on n'​oublie pas de mettre les droits d'​éxecution sur le fichier : 
-  chmod +x ~/​sauv_mon_dossier.sh 
- 
-Voilà c'est fini, on peut simplement vérifier que le script fonctionne bien en le lançant : 
-  ~/​sauve_mon_dossier.sh 
- 
-Normalement **rdiff-backup** se lance, fait sa sauvegarde et vous informe ensuite qu'il a ou non supprimé les sauvegardes plus vieilles d'un jour. 
- 
-===== Trucs & astuces ====== 
- 
-Pour vérifier que la tâche est bien lancée vous pouvez vérifier dans votre ''​répertoire de sauvegarde/​rdiff-backup''​ si vous avez bien une ligne du genre : 
-  session_statistics.2005-03-02T19:​54:​58+05:​30.data 
- 
-Vous voyez alors l'​heure et la date de la derniere sauvegarde. 
- 
-===== Références ===== 
-Un bon site qui m'a permis de construire ce tutoriel : 
-[[http://​www.nongnu.org/​rdiff-backup/​examples.html|Rdiff-backup (en)]] 
- 
----- 
- 
-//​Contributeurs : [[utilisateurs:​Herbie]],​ [[utilisateurs:​ostaquet]] // 
- 
-//Basé sur [[http://​debuntu.tuxfamily.org]]//​ 
  • securite/sauvegarde_incrementielle_et_automatique_de_son_home.1167823883.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)