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
Prochaine révision
Révision précédente
rdiff-backup [Le 06/09/2007, 15:49]
193.54.197.154 correction du répertoire créé par rdiff après une backup
rdiff-backup [Le 11/03/2023, 20:07] (Version actuelle)
L'Africain tags
Ligne 1: Ligne 1:
-{{tag>dapper edgy securite backup}}+{{tag>Jammy sécurité sauvegarde}}
  
 ---- ----
 +
 +
  
 ====== rdiff-backup : Solution de sauvegarde incrémentielle ====== ====== 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. 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.
 +
 +Rdiff-backup peut être utilisé sur Linux, MacOsX et Windows, ce qui vous permet d'​installer ce logiciel sur n'​importe quel ordinateur, et sauvegarder ces ordinateurs sur votre serveur via SSH. [[http://​download.savannah.gnu.org/​releases/​rdiff-backup|Téléchargement pour un "non ubuntu"​]].
  
 ===== Installation ===== ===== Installation =====
  
-Pour installer ​**rdiff-backup**, il vous suffit de lancer la commande suivante : +[[:​tutoriel:​comment_installer_un_paquet|installez le paquet]] ​**[[apt>rdiff-backup]]**.
-<​code>​ +
-sudo apt-get install rdiff-backup +
-</​code>​+
  
 ===== Utilisation ===== ===== Utilisation =====
Ligne 18: Ligne 19:
 ==== Faire la sauvegarde ==== ==== Faire la sauvegarde ====
 Voici la commande qui permet de faire une sauvegarde : Voici la commande qui permet de faire une sauvegarde :
-  rdiff-backup --exclude /​home/​mon_login/​.aMule /​home/​mon_login /rep_save+  rdiff-backup --exclude /​home/​mon_login/​.aMule /​home/​mon_login /repertoire_de_sauvegarde
  
-Ici on sauvegarde tout le ''/​home/​mon_login''​ sauf le repertoire ''​./​aMule''​ dans le dossier de destination ''/​rep_save''​.+Ici on sauvegarde tout le ''/​home/​mon_login''​ sauf le repertoire ''/​home/​mon_login/​.aMule''​ dans le dossier de destination ''/​repertoire_de_sauvegarde''​.
  
-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.+Si ''/​repertoire_de_sauvegarde''​ 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 ''/​repertoire_de_sauvegarde''​ au préalable. 
 + 
 +=== Exemples === 
 + 
 +Sauvegarder uniquement les répertoires /usr/local et /var : 
 + 
 +  rdiff-backup --include /usr/local --include /var --exclude '​**'​ / /backup 
 + 
 +Idem, mais la liste des répertoires à sauver dans un fichier nommé include-list.txt qui contient : 
 + 
 +  /var 
 +  /​usr/​bin/​gzip 
 + 
 +La commande sera alors : 
 + 
 +  rdiff-backup --include-globbing-filelist include-list.txt --exclude '​**'​ / /backup 
 + 
 + 
 +Pour plus d'​infos,​ voir [[http://​www.nongnu.org/​rdiff-backup/​examples.html|ici]]
  
 ==== Supprimer des sauvegardes ==== ==== Supprimer des sauvegardes ====
 Pour supprimer les différences accumulées au fur et à mesure que l'on a ajouté 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+  rdiff-backup --remove-older-than 1W --force /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)''​. 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.+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 ==== ==== Tester un backup ====
Ligne 38: Ligne 61:
 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''​. 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''​.
  
 +<note tip>​Rdiff-backup fait une replication parfaite des fichiers dans leur dernière version. Ainsi pour restaurer des données, il suffit de faire ''​cp -a /backupDir /​restoredDir''</​note>​
 +
 +
 +
 +
 +
 +==== Voir la liste des sauvegardes ====
 +Liste simple :
 +   ​rdiff-backup -l /​repertoire_de_sauvegarde
 +
 +
 +Liste en tableau avec la taille de chaque incrément :
 +   ​rdiff-backup --list-increment-size /​repertoire_de_sauvegarde
 +
 +==== Voir les statistiques des sauvegardes ====
 +
 +   ​rdiff-backup-statistics /​repertoire_de_sauvegarde
 +
 +
 +==== Sauvegarder sur une machine distante, via SSH ====
 +
 +Remplacer
 +
 +  /​repertoire_de_sauvegarde
 +
 +par
 +
 +  <​utilisateur>​@<​adresse_ip_de_la_machine_distante>::<​repertoire_de_sauvegarde_sur_la_machine_distante>​
 +
 +Plus d'​infos sur [[SSH|SSH ici]]
  
 ===== Automatiser les sauvegardes ===== ===== Automatiser les sauvegardes =====
Ligne 45: Ligne 98:
 ==== Journaliser les tâches ==== ==== Journaliser les tâches ====
  
-Tout d'​abord quelques mots sur les logiciels journalisation de tâches ​+Tout d'​abord quelques mots sur les logiciels ​de journalisation de tâchesActuellement on dispose de trois outils sous Linux pour cela : 
-Actuellement on dispose de trois outils sous linux pour cela : +  * **[[apt>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. 
-  * **[[: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 définir ​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. 
-  * **[[:​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.
-  * **[[:​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. 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.
Ligne 61: Ligne 113:
   00    20    *    *     ​* ​   ~/​sauve_mon_dossier.sh   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'​informations sur le formalisme du ''​crontab'',​ je vous invite à consulter [[:​cron|cette page]].+Celle-ci signifie //tous les jours à 20h00 lance le script ''/​root/​sauve_mon_dossier.sh''​ //. **Ce sont bien les minutes d'​abord et les heures ensuite, il n'y a pas d'​erreur.** Pour plus d'​informations sur le formalisme du ''​crontab'',​ je vous invite à consulter [[:​cron|cette page]].
  
  
Ligne 74: Ligne 126:
 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. 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 :+On sauvegarde le script et on n'​oublie pas de mettre les droits d'exécution ​sur le fichier :
   chmod +x ~/​sauv_mon_dossier.sh   chmod +x ~/​sauv_mon_dossier.sh
  
-Voilà c'est fini, on peut simplement vérifier que le script fonctionne bien en le lançant :+Voilà c'est fini ! On peut simplement vérifier que le script fonctionne bien en le lançant :
   ~/​sauve_mon_dossier.sh   ~/​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'une semaine. Normalement **rdiff-backup** se lance, fait sa sauvegarde et vous informe ensuite qu'il a ou non supprimé les sauvegardes plus vieilles d'une semaine.
 +
 +
  
  
 ===== Trucs & astuces ====== ===== Trucs & astuces ======
  
-* Pour vérifier que la tâche est bien lancéeallez dans le répertoire où vous avez sauvegardé ​un sous répertoire ''​rdiff-backup-data''​ a été crééLister les fichiers et vous devriez avoir une ligne du genre +* Pour éviter des problèmes de droit sur les fichiersje vous conseille de faire ceci avant de lancer la sauvegarde ​: 
-  ​session_statistics.2005-03-02T19:54:58+05:30.data+  sudo chown -R votre_nom.users $HOME/* && chmod u+r -R $HOME/* 
 + 
 +* Dans le cas d'une utilisation simultanée de "​max-file-size"​ et "​exclude"​ il faut mettre "​exclude"​ en premier sinon il sera ignoré. Par exemple : 
 +  ​rdiff-backup ​/home --max-file-size 1000 --exclude /home/me repertoire_de_sauvegarde 
 + 
 +ne prendra pas en compte "​--exclude /​home/​me"​Par contre ​
 +  ​rdiff-backup /home --exclude /home/me --max-file-size 1000 repertoire_de_sauvegarde 
 + 
 +sauvegardera tous les fichiers de /home de moins de 1 Ko sauf ceux présents dans /home/me. Plus d'​explications [[https://www.mail-archive.com/​rdiff-backup-users@nongnu.org/​msg03909.html|ici]] 
 + 
 +* Pour afficher les listes des sauvegardes : <code bash>​rdiff-backup -l repertoire_de_sauvegarde</​code>​
  
-Vous voyez alors l'​heure et la date de la derniere sauvegarde.+* Naviguer dans les snapshots : **[[apt>​rdiff-backup-fs]]** en montant les snapshots dans un dossier Pour avoir un dossier par snapshot dans le point de montage : <code bash>​rdiff-backup-fs ​ mnt_path ​ backup_path</​code>​
  
-* Pour KDE (Kubuntu), il existe une interface graphique nommée [[http://​www.kde-apps.org/​content/​show.php/​Keep?​content=32984|Keep]] et qui condense toutes ces actions de sauvegarde.+===== Voir aussi =====
  
-===== Références ===== +  * [[http://​www.nongnu.org/​rdiff-backup/​examples.html|Rdiff-backup (en)]] 
-Un bon site qui m'a permis de construire ce tutoriel : +  * (fr) [[http://​www.it-connect.fr/​sauvegarde-et-restauration-avec-rdiff-backup%ef%bb%bf/​|Utilisation de Rdiff-backup ​]]
-[[http://​www.nongnu.org/​rdiff-backup/​examples.html|Rdiff-backup (en)]]+
  
 ---- ----
  • rdiff-backup.1189086581.txt.gz
  • Dernière modification: Le 13/09/2007, 13:18
  • (modification externe)