Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
bacula [Le 10/01/2012, 20:51] – [Pré-requis] 88.164.39.189 | bacula [Le 04/05/2019, 23:28] (Version actuelle) – [Pré-requis] 193.250.138.66 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ---- | ||
+ | |||
+ | ====== Bacula : sauvegarder régulièrement son PC ====== | ||
+ | |||
+ | |||
+ | **Bacula** est un logiciel open source de sauvegarde professionnel. Il permet de sauvegarder le contenu d'un PC, ou plusieurs PC en réseau. | ||
+ | |||
+ | Bacula dispose de très nombreuses fonctionnalités. Utilisé correctement vous serez toujours certain de pouvoir restaurer n' | ||
+ | |||
+ | **MAIS SA CONFIGURATION FINE NÉCESSITE DE NOMBREUSES CONNAISSANCES PROPRES AU MONDE DE LA SAUVEGARDE.** | ||
+ | |||
+ | Cette page ne pourra jamais vous dispenser d' | ||
+ | |||
+ | =====Pré-requis===== | ||
+ | |||
+ | * Disposer des [[: | ||
+ | * Disposer d'une connexion à Internet configurée et activée. | ||
+ | * [[: | ||
+ | * [[: | ||
+ | |||
+ | =====Installation===== | ||
+ | [[: | ||
+ | |||
+ | |||
+ | ===== Exemple d' | ||
+ | |||
+ | Ce tutoriel est destiné à ceux qui souhaitent sauvegarder automatiquement leur configuration et leurs fichiers, afin de ne rien perdre en cas de crash disque, de corruption de données (ou simplement de suppression de fichiers trop rapide). | ||
+ | |||
+ | Il est possible de sauvegarder sur des bandes magnétiques ou des DVD, mais étant donné le prix d'un lecteur de bandes, nous allons utiliser une méthode moins coûteuse : **un second disque dur** (quelques centaines de Go, ce qui dans une optique de sauvegarde personnelle est largement suffisant). | ||
+ | |||
+ | ==== Préparation ==== | ||
+ | |||
+ | === Installation optionnelle === | ||
+ | |||
+ | Afin de pouvoir être averti par mail que la sauvegarde a été effectuée ou des problèmes éventuels, installer : | ||
+ | |||
+ | * [[: | ||
+ | < | ||
+ | Autrement dit, il faut ajouter dans / | ||
+ | |||
+ | puis taper dans un terminal : | ||
+ | |||
+ | / | ||
+ | |||
+ | afin que le changement de configuration soit pris en compte | ||
+ | </ | ||
+ | |||
+ | === Installation du second disque dur === | ||
+ | |||
+ | Je suppose ici que le second disque dur est monté sur **''/ | ||
+ | Pour plus de détails sur la numérotation/ | ||
+ | |||
+ | - création du répertoire où seront stockés les fichiers de sauvegarde : **''/ | ||
+ | - création de la partition //xfs// et formatage du **deuxième** disque dur avec [[: | ||
+ | - [[: | ||
+ | |||
+ | <note warning> | ||
+ | |||
+ | Normalement il est maintenant possible de monter le second disque dur : | ||
+ | < | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | ==== Configuration de Bacula ==== | ||
+ | |||
+ | |||
+ | === Niveau de sauvegarde pour bacula === | ||
+ | |||
+ | ^Type de sauvegarde ^ Définition | | ||
+ | | **Totale**\\ (Full) | Une sauvegarde complète (autrement dit de tout ce qui est dans les répertoires listés).\\ Attention si vous modifiez la liste des fichiers/ | ||
+ | | **Differentielle**\\ (Differential) | Une sauvegarde qui inclut tous les fichiers modifiés depuis le lancement de la dernière sauvegarde complète (Full).\\ Notez que d' | ||
+ | | **Incrementale**\\ (Incremental) | Une sauvegarde qui inclut tous les fichiers modifiés depuis le lancement de la dernière sauvegarde complète (Full), différentielle, | ||
+ | |||
+ | Pour plus de détail voir [[http:// | ||
+ | |||
+ | |||
+ | === Edition de / | ||
+ | |||
+ | [[: | ||
+ | |||
+ | * Dans JobDefs, ajouter : | ||
+ | < | ||
+ | JobDefs { | ||
+ | .... | ||
+ | # cf http:// | ||
+ | Full Backup Pool = Full-Pool | ||
+ | Incremental Backup Pool = Inc-Pool | ||
+ | Differential Backup Pool = Diff-Pool | ||
+ | # fin modif | ||
+ | ...... | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Définir le 1er Job de sauvegarde | ||
+ | < | ||
+ | Job { | ||
+ | Name = " | ||
+ | JobDefs = " | ||
+ | Write Bootstrap = "/ | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Définir où seront créées les restaurations | ||
+ | < | ||
+ | Job { | ||
+ | Name = " | ||
+ | #changer la ligne ci-dessous | ||
+ | Where = / | ||
+ | </ | ||
+ | |||
+ | * Déclarer ce qu'on va sauver | ||
+ | < | ||
+ | FileSet { Name = "Full Set" | ||
+ | Include { | ||
+ | Options { | ||
+ | signature = MD5 | ||
+ | compression=GZIP | ||
+ | } | ||
+ | File = /etc | ||
+ | File = / | ||
+ | File = / | ||
+ | </ | ||
+ | |||
+ | * Déclarer ce qu'on ne veut pas sauver | ||
+ | < | ||
+ | Exclude { | ||
+ | # File = /proc | ||
+ | # File = /tmp | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/hmon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | File = /home/mon nom d utilisateur/ | ||
+ | # File = /.journal | ||
+ | # File = /.fsck | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | > .local/ | ||
+ | > .mozilla/ | ||
+ | > .thumbnails est pour les photos | ||
+ | |||
+ | * Planifier les sauvegardes à des heures ou le PC est allumé | ||
+ | < | ||
+ | Schedule { | ||
+ | Name = " | ||
+ | Run = Full 1st sun at 19:05 | ||
+ | Run = Differential 2nd-5th sun at 19:05 | ||
+ | Run = Incremental mon-sat at 19:05 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Sauvegarder la base de données. C'est avec celle-ci que Bacula peut savoir quel fichier a été sauvé et à quel moment. En cas de perte de la base de données (par ex. en cas de crash disque) il est nécessaire d' | ||
+ | < | ||
+ | # This schedule does the catalog. It starts after the WeeklyCycle | ||
+ | Schedule { | ||
+ | Name = " | ||
+ | Run = Full sun-sat at 19:20 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * Copier les bootstrap. Ce sont les fichiers qui permettront la restauration en cas de perte de données. On les met sur la partition de sauvegarde | ||
+ | < | ||
+ | Write Bootstrap = "/ | ||
+ | Write Bootstrap = "/ | ||
+ | </ | ||
+ | |||
+ | * Remplacer < | ||
+ | < | ||
+ | Job { | ||
+ | # WARNING!!! Passing the password via the command line is insecure. | ||
+ | # see comments in make_catalog_backup for details. | ||
+ | # Arguments to make_catalog_backup are: | ||
+ | # make_catalog_backup < | ||
+ | # | ||
+ | # Ubuntu uses make_catalog_backup_awk script for | ||
+ | # security reasons | ||
+ | # Replace < | ||
+ | # | ||
+ | #autrement dit mettre cat1=MyCatalog dans la ligne ci dessous | ||
+ | RunBeforeJob = "/ | ||
+ | ----- | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | <note tip>En cas d' | ||
+ | |||
+ | * Indiquer l' | ||
+ | < | ||
+ | mail = mon_nom_utilisateur@localhost = all, !skipped | ||
+ | operator = mon_nom_utilisateur@localhost = mount | ||
+ | </ | ||
+ | |||
+ | |||
+ | == Définition des pools de sauvegarde == | ||
+ | |||
+ | Ajouter les lignes suivantes | ||
+ | (cf [[http:// | ||
+ | |||
+ | < | ||
+ | ce lien est HS, c'est peut-être celui là qui le remplace:\\ | ||
+ | http:// | ||
+ | </ | ||
+ | |||
+ | * pour la sauvegarde totale | ||
+ | < | ||
+ | Pool { | ||
+ | Name = Full-Pool | ||
+ | Pool Type = Backup | ||
+ | Recycle = yes # automatically recycle Volumes | ||
+ | AutoPrune = yes # Prune expired volumes | ||
+ | Volume Retention = 6 months | ||
+ | Maximum Volume Jobs = 1 | ||
+ | Label Format = Full- | ||
+ | # Maximum Volumes = 9 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * pour la sauvegarde incrémentale ... | ||
+ | < | ||
+ | Pool { | ||
+ | Name = Inc-Pool | ||
+ | Pool Type = Backup | ||
+ | Recycle = yes # automatically recycle Volumes | ||
+ | AutoPrune = yes # Prune expired volumes | ||
+ | Volume Retention = 20 days | ||
+ | Maximum Volume Jobs = 6 | ||
+ | Label Format = Inc- | ||
+ | Maximum Volumes = 7 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | * ... et différentielle | ||
+ | < | ||
+ | Pool { | ||
+ | Name = Diff-Pool | ||
+ | Pool Type = Backup | ||
+ | Recycle = yes | ||
+ | AutoPrune = yes | ||
+ | Volume Retention = 40 days | ||
+ | Maximum Volume Jobs = 1 | ||
+ | Label Format = Diff- | ||
+ | Maximum Volumes = 10 | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Edition de / | ||
+ | |||
+ | [[: | ||
+ | |||
+ | * Donner le chemin où seront stockés les fichiers : | ||
+ | < | ||
+ | Device { | ||
+ | Name = FileStorage | ||
+ | Archive Device = / | ||
+ | </ | ||
+ | |||
+ | <note tip>Le device // | ||
+ | |||
+ | |||
+ | === Configuration de l' | ||
+ | |||
+ | Afin que l' | ||
+ | < | ||
+ | |||
+ | |||
+ | === Création des chemins d' | ||
+ | |||
+ | Lancer les commandes ci-dessous dans un terminal : | ||
+ | |||
+ | < | ||
+ | sudo mkdir / | ||
+ | sudo chown -R bacula / | ||
+ | sudo chgrp -R bacula / | ||
+ | |||
+ | sudo mkdir / | ||
+ | sudo chgrp bacula / | ||
+ | sudo chown bacula / | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Recopie des fichiers de configuration de Bacula === | ||
+ | |||
+ | Cette étape est utile en cas de crash disque (i.e. la totalité de la configuration de Bacula est perdue) : | ||
+ | < | ||
+ | |||
+ | === Relance de Bacula === | ||
+ | |||
+ | Pour que Bacula prennent en compte les modifications apportées au fichier de configuration, | ||
+ | |||
+ | < | ||
+ | sudo / | ||
+ | sudo / | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | === Lancer l' | ||
+ | |||
+ | Bacula lui même est un outil en ligne de commande mais un autre outil permet d' | ||
+ | Pour cela il suffit de taper dans un terminal : < | ||
+ | |||
+ | <note help> | ||
+ | Dans le menu Applications / Outils système, le raccourci est faux (pour jaunty au moins) | ||
+ | Pour modifier le raccourci : | ||
+ | * Entrer la commande suivante dans un terminal :< | ||
+ | * Dans //Outils système//, sélectionner « **'' | ||
+ | </ | ||
+ | |||
+ | A partir de cette interface graphique vous pouvez tester si votre installation fonctionne en effectuant une sauvegarde (vous devriez recevoir un mail à la fin) et en effectuant une restauration (qui sera dans **''/ | ||
+ | |||
+ | <note important> | ||
+ | Autrement dit, le fichier peut avoir été restauré, mais si vous n' | ||
+ | |||
+ | === Oups. mon disque est rempli par les sauvegardes! === | ||
+ | == Reduire la durée de rétention == | ||
+ | Par exemple dans **/ | ||
+ | < | ||
+ | mettre | ||
+ | < | ||
+ | pour passer de 6 a 3 mois | ||
+ | == Supprimer certains fichiers == | ||
+ | Réduire la durée de rétention ne va pas faire tomber le % d' | ||
+ | Pour cela il va falloir démarrer la console de bacula (bat) | ||
+ | === trouver un volume à supprimer === | ||
+ | Avec la console de bacula, sélectionner **Pools** puis sélectionner un volume et vérifier ce qu'il contient avec un clic droit puis **list job on volume** | ||
+ | Répéter l' | ||
+ | === purger === | ||
+ | une fois le volume choisi, faites un nouveau clic droit et choisissez **purge volume**. Répondez oui aux messages vous demandant si vous êtes sûr de vous. La console bacula va alors faire apparaître le volume comme **purged** | ||
+ | === supprimer le volume === | ||
+ | Une fois le volume purgé, il faut le supprimer de la base de données de bacula. Ceci se fait avec un clic droit et le menu **delete volume** | ||
+ | Une fois cette opération effectuée, vous pouvez supprimer le fichier par un classique **rm** (par exemple "rm Full-0073" | ||
+ | |||
+ | =====Liens===== | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | ---- | ||