Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
securite:sauvegarde_incrementielle_et_automatique_de_son_home [Le 16/11/2006, 14:04]
194.199.224.105
— (Version actuelle)
Ligne 1: Ligne 1:
-DokuWiki ​ 
-  
-  Version Hoary 
  
-Rédigé par [[utilisateurs:​Herbie]] \\ 
-Article provenant de [[http://​debuntu.tuxfamily.org]] 
-\\  
- 
-====== Le besoin ====== 
- 
-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. 
- 
-====== 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 avant. 
- 
-====== 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 l'​ensemble ====== 
-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 taper 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 : 
- 
-Les commandes suivantes sont à exécuter en root. 
- 
-Pour installer cron : 
-  apt-get install 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 
- 
-Par défaut c'est vi qui est utilisé par crontab, j'​indique plus bas comment utiliser nano à la place. 
- 
-Pour journaliser notre tâche, on indique à cron d'​exécuter le script /​root/​sauve_mon_dossier.sh chaque jour à 20h00. ​ 
-On met donc la ligne suivante dans notre crontab : 
-  00    20    *    *     ​* ​   /​root/​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. 
- 
- 
-===== Le script ===== 
- 
-Ensuite il reste à faire le script pour lancer les sauvegardes. 
-On édite donc le fichier /​root/​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 /​root/​sauv_mon_dossier.sh 
- 
-Voilà c'est fini, on peut simplement vérifier que le script fonctionne bien en le lançant : 
-  /​root/​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 repertoire 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. 
- 
-That's it, dernière chose pour changer d'​éditeur de texte par défaut : 
-  export EDITOR=vi 
-ou: 
-  export EDITOR=emacs 
-par exemple. 
-dans le /​root/​.bashrc,​ c 'est radical :) 
- 
-Voilà, bonnes sauvegardes et n'​hésitez pas à remonter vos retours d'​experiences/​améliorations à debuntu at gmail dot com 
- 
-====== 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)]] 
  • securite/sauvegarde_incrementielle_et_automatique_de_son_home.1163682260.txt.gz
  • Dernière modification: Le 18/04/2011, 14:46
  • (modification externe)