Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
rdiff-backup [Le 22/09/2008, 08:46] topazz |
rdiff-backup [Le 11/03/2023, 20:07] (Version actuelle) L'Africain tags |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>dapper edgy securite sauvegarde}} | + | {{tag>Jammy sécurité sauvegarde}} |
---- | ---- | ||
+ | |||
+ | |||
====== rdiff-backup : Solution de sauvegarde incrémentielle ====== | ====== rdiff-backup : Solution de sauvegarde incrémentielle ====== | ||
Ligne 7: | Ligne 9: | ||
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> | + | |
- | Pour Ubuntu « Gutsy Gibbon » 7.10 il suffit de [[apt://rdiff-backup|cliquer ici]]. | + | |
===== Utilisation ===== | ===== Utilisation ===== | ||
+ | ==== Faire la sauvegarde ==== | ||
+ | Voici la commande qui permet de faire une sauvegarde : | ||
+ | rdiff-backup --exclude /home/mon_login/.aMule /home/mon_login /repertoire_de_sauvegarde | ||
+ | Ici on sauvegarde tout le ''/home/mon_login'' sauf le repertoire ''/home/mon_login/.aMule'' dans le dossier de destination ''/repertoire_de_sauvegarde''. | ||
+ | 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 : | ||
- | ==== Faire la sauvegarde ==== | + | rdiff-backup --include /usr/local --include /var --exclude '**' / /backup |
- | Voici la commande qui permet de faire une sauvegarde : | + | |
- | rdiff-backup --exclude /home/mon_login/.aMule /home/mon_login /repertoire_de_sauvegarde | + | |
- | Ici on sauvegarde tout le ''/home/mon_login'' sauf le repertoire ''/home/mon_login/.aMule'' dans le dossier de destination ''/repertoire_de_sauvegarde''. | + | 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 | ||
- | 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. | ||
+ | Pour plus d'infos, voir [[http://www.nongnu.org/rdiff-backup/examples.html|ici]] | ||
==== Supprimer des sauvegardes ==== | ==== Supprimer des sauvegardes ==== | ||
Ligne 38: | Ligne 49: | ||
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. |
Ligne 57: | Ligne 68: | ||
==== Voir la liste des sauvegardes ==== | ==== Voir la liste des sauvegardes ==== | ||
+ | Liste simple : | ||
rdiff-backup -l /repertoire_de_sauvegarde | 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 | ||
Ligne 67: | Ligne 84: | ||
Remplacer | Remplacer | ||
- | /repertoire_de_sauvegarde | + | /repertoire_de_sauvegarde |
par | par | ||
- | <utilisateur>@<adresse_ip_de_la_machine_distante>::<repertoire_de_sauvegarde_sur_la_machine_distante> | + | <utilisateur>@<adresse_ip_de_la_machine_distante>::<repertoire_de_sauvegarde_sur_la_machine_distante> |
Plus d'infos sur [[SSH|SSH ici]] | Plus d'infos sur [[SSH|SSH ici]] | ||
Ligne 81: | 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âches. Actuellement 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 97: | 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 110: | 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 afficher les listes des sauvegardes : | + | * Pour éviter des problèmes de droit sur les fichiers, je vous conseille de faire ceci avant de lancer la sauvegarde : |
- | rdiff-backup -l repertoire_de_sauvegarde | + | 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> | ||
- | * 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. Vous pouvez egalement aller voir la page [[keep|keep]] du wiki. | + | * 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 Gnome, il y a aussi une intreface : [[http://andrewprice.me.uk/projects/pybackpack|pybackpack]] | + | ===== 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)]] | + | |
---- | ---- |