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 | ||
backup-manager [Le 18/09/2010, 09:17] – 88.182.46.9 | backup-manager [Le 29/09/2020, 20:24] (Version actuelle) – ajout du droit SHOW VIEW pour l'utilisateur de backup sous mysql 80.67.176.55 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== Backup-manager : Un utilitaire simple et accessible de gestion de sauvegarde ====== | ||
+ | |||
+ | ===== Avant-propos ===== | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | La perte de données est la chose qu'un utilisateur redoute le plus. Elle peut être due à plusieurs facteurs (mauvaise manipulation, | ||
+ | |||
+ | |||
+ | C'est pour cela qu'il existe des gestionnaires de sauvegardes qui effectuent ces opérations répétitives pour nous et surtout sans nous ! | ||
+ | |||
+ | Avant de commencer, je voudrais vous informer que d' | ||
+ | |||
+ | En effet, dans le choix d'un gestionnaire de sauvegarde il faut connaître son besoin. Celui auquel répond (très bien) backup-manager est une sauvegarde de fichier locaux sous forme d' | ||
+ | |||
+ | Loin d' | ||
+ | * Son paramétrage est relativement fourni, intuitif et bien renseigné | ||
+ | * Il génère des archives (donc facilement manipulables et c'est un moyen éprouvé !) | ||
+ | |||
+ | Ce document n'est qu'une synthèse/ | ||
+ | |||
+ | {{icons: | ||
+ | > Si vous ne disposez pas du temps nécessaire à la configuration de Backup-Manager, | ||
+ | |||
+ | |||
+ | ===== Présentation ===== | ||
+ | Backup-manager s' | ||
+ | |||
+ | * de sauvegarder vos données sous forme d' | ||
+ | * d' | ||
+ | * de compresser les sauvegardes, | ||
+ | * de ne sauvegarder que les différences entre les sauvegardes (sauvegarde incrémentale) | ||
+ | * de graver automatiquement les sauvegardes sur CD/DVD | ||
+ | * d' | ||
+ | * d' | ||
+ | * de créer plusieurs méthodes de sauvegarde grâce à divers outils de sauvegardes | ||
+ | * ... | ||
+ | |||
+ | Ce gestionnaire de sauvegarde est donc suffisamment puissant pour un parc informatique ne comportant que quelques postes. | ||
+ | |||
+ | Pour un parc informatique important, il est préférable de mettre en place des systèmes du genre [[:rsync]] (Serveur de sauvegarde, clients) | ||
+ | |||
+ | |||
+ | ===== Installation ===== | ||
+ | [[: | ||
+ | |||
+ | Lors de l' | ||
+ | |||
+ | Lorsque l' | ||
+ | |||
+ | <note tip>Vous pouvez installer **[[apt> | ||
+ | |||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | La configuration de backup-manager se fait via l' | ||
+ | |||
+ | [[: | ||
+ | |||
+ | |||
+ | On va maintenant regarder ensemble la signification des divers paramètres | ||
+ | |||
+ | <note tip> | ||
+ | |||
+ | ==== Répertoire et Sauvegarde ==== | ||
+ | === Répertoire et ses droits=== | ||
+ | Backup-manager stocke les archives (sauvegardes) dans un **répertoire** lequel peut être protégé par des droits d' | ||
+ | == BM_REPOSITORY_ROOT == | ||
+ | Répertoire où toutes vos archives seront stockés. | ||
+ | |||
+ | __Remarques :__ | ||
+ | Il est plus sûr : | ||
+ | * de stocker les archives sur un autre disque dur (crash de disque) si vous ne souhaitez pas les exporter sur un serveur. | ||
+ | * d' | ||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | == BM_REPOSITORY_SECURE == | ||
+ | Pour des raisons de sécurité le répertoire peut n' | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | export BM_REPOSITORY_USER=" | ||
+ | export BM_REPOSITORY_GROUP=" | ||
+ | |||
+ | Dans la version 0.7.5 (branche en développement) présente sur feisty il est possible de choisir les permissions du dossier BM_REPOSITORY_ROOT : | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | ainsi que les permissions des différentes archives : | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | |||
+ | === Sauvegardes === | ||
+ | == BM_ARCHIVE_TTL == | ||
+ | C'est la durée de vie (Time To Live) d'une archive avant qu' | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | Dans la version 0.7.5 présente sur Feisty il est possible de choisir de purger récursivement l' | ||
+ | <code bash> | ||
+ | |||
+ | == BM_ARCHIVE_PURGEDUPS == | ||
+ | Si deux archives (sauvegardes) successives sont identiques, backup-manager peut créer un lien au lieu de recréer une archive. (gain de place) | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | == BM_ARCHIVE_PREFIX == | ||
+ | Donne un préfixe au nom de l' | ||
+ | |||
+ | __Exemple :__ ici le nom de l' | ||
+ | <code bash> | ||
+ | == BM_ARCHIVE_METHOD == | ||
+ | La méthode permettant de créer les archives : (voir § suivant) | ||
+ | * **tarball** | ||
+ | * **tarball-incremental** | ||
+ | * **mysql** | ||
+ | * **svn** | ||
+ | * **pipe** | ||
+ | * **none** | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | Note : Ici, l'on peut mettre plusieurs méthodes, et ainsi sauvegarder en tarball-incremental + sauvegarde mysql. | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | ==== Méthode de sauvegarde ==== | ||
+ | |||
+ | Backup Manager offre à ses utilisateurs la possibilité de sauvegarder leur données sur des serveurs distant en utilisant : | ||
+ | |||
+ | * FTP : c'est un mode de transfert efficace, mais le seul problème ( pas un grand problème :) ) est que toutes les données passent en clair, c'est à dire qu'il n'y a aucune sécurité de transfert et toutes les données sont transmises en clair, pour cela, je vous présente la méthode comme suit : | ||
+ | |||
+ | |||
+ | * export BM_UPLOAD_METHOD=" | ||
+ | * export BM_UPLOAD_FTP_USER=" | ||
+ | * export BM_UPLOAD_FTP_PASSWORD=" | ||
+ | * export BM_UPLOAD_FTP_HOSTS=" | ||
+ | * export BM_UPLOAD_FTP_PURGE=" | ||
+ | * export BM_UPLOAD_FTP_TTL=" | ||
+ | * export BM_UPLOAD_FTP_DESTINATION=" | ||
+ | | ||
+ | === Tarball === | ||
+ | A chaque sauvegarde, elle liste les fichiers à sauvegarder dans un fichier texte et fabrique le fichier de sauvegarde. (vous pouvez faire vos propres scripts).\\ | ||
+ | * **+** Facile à utiliser | ||
+ | * **-** gourmande en espace de disque ! | ||
+ | == BM_TARBALL_NAMEFORMAT == | ||
+ | Comment seront nommées les archives : | ||
+ | * **long** : chemin-complet-du-dossier.tar.gz | ||
+ | * **short** : dossierparent.tar.gz | ||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | == BM_TARBALL_FILETYPE == | ||
+ | C'est le type de compression désirée : | ||
+ | * **tar** : sans compression fait juste une archive de vos sauvegardes | ||
+ | * **tar.gz** : compression/ | ||
+ | * **tar.bz2** : taux de compression plus élevé mais beaucoup plus lente | ||
+ | * **zip** : compression zip | ||
+ | * **dar** : compression et permet le découpage en plusieurs fichiers de taille définie (ne pas oublier de l' | ||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | == BM_TARBALL_DUMPSYMLINKS == | ||
+ | Est ce que backup-manager sauvegarde les répertoires pointés par des liens (raccourcis) ? | ||
+ | |||
+ | __Attention :__ Peut considérablement augmenter la taille de votre archive. S'il y a une boucle de liens l' | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_TARBALL_DIRECTORIES == | ||
+ | Pour faire une sauvegarde, il faut lui dire le chemin où se trouvent les choses à sauvegarder : | ||
+ | |||
+ | __Note :__ Pour sauvegarder plusieurs dossiers séparer les chemins d'un espace | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | <note tip>Pour sauvegarder son compte " | ||
+ | |||
+ | == BM_TARBALL_BLACKLIST == | ||
+ | Donner une liste noire qui comporte certains dossiers et fichiers à ne pas sauvegarder. | ||
+ | |||
+ | __Note :__ Séparer les chemins/ | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_TARBALL_SLICESIZE == | ||
+ | Détermine la taille maximale des archives **dar** (si vous n' | ||
+ | |||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | === Tarball incrémentale === | ||
+ | Cette méthode est identique à tarball mais ne sauvegarde que les différences entre deux sauvegardes successives. | ||
+ | Ici 2 sortes de sauvegarde sont mises en oeuvre : | ||
+ | - Sauvegardes complètes (full) : sauvegarde tous les fichiers comme une tarball à intervalle régulier. | ||
+ | - Sauvegardes différentielles : ce sont les sauvegardes entre 2 sauvegardes complètes. Elles contiennent juste la différence entre 2 sauvegardes successives. | ||
+ | * **+** Gain de place énorme | ||
+ | * **-** Toute votre sauvegarde n'est pas dans la même archive | ||
+ | == BM_TARBALLINC_MASTERDATETYPE == | ||
+ | Détermine la fréquence des sauvegardes complètes : (temps entre 2 sauvegardes complètes) | ||
+ | * **weekly** : toutes les semaines | ||
+ | * **monthly** : tous les mois | ||
+ | __Exemple :__\\ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_TARBALLINC_MASTERDATEVALUE == | ||
+ | Le jour des sauvegardes complètes : | ||
+ | * si weekly : mettre un nombre de 0->6 (dimanche -> samedi) | ||
+ | * si monthly : mettre un nombre de 1->31 (1< | ||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | === MySql === | ||
+ | La méthode tarball sur les repertoires contenant les bases des données MySql ne permettra pas de récupérer des bases de données intègres. Backup-manager propose donc une méthode de sauvegarde basée sur mysqldump (fichiers texte au standard SQL) | ||
+ | |||
+ | == Définir la liste des bases à sauvegarder == | ||
+ | Les bases à sauvegarder sont notées dans la ligne " | ||
+ | <code bash> | ||
+ | Si on souhaite sauvegarder toutes les bases, on utilise: | ||
+ | <code bash> | ||
+ | |||
+ | == Les paramètres de connexion MySql == | ||
+ | Il va falloir mettre en clair le mot de passe de connexion Mysql dans le fichier, D' | ||
+ | |||
+ | Limitons les négligences de sécurité: | ||
+ | Tout d' | ||
+ | < | ||
+ | sudo chmod 640 / | ||
+ | |||
+ | Créer un utilisateur MySql qui aura les droits minimums (tout lire, c'est énorme, mais déjà plus restrictif que les droits root) | ||
+ | |||
+ | Pour se connecter en root au client mysql: | ||
+ | < | ||
+ | Dans le prompt Mysql (pensez à remplacer " | ||
+ | <code sql> | ||
+ | exit;</ | ||
+ | |||
+ | Les paramètres de connexion aux bases dans le fichier / | ||
+ | |||
+ | L' | ||
+ | <code bash> | ||
+ | Son mot de passe: | ||
+ | <code bash> | ||
+ | |||
+ | == Compression des exports des bases == | ||
+ | |||
+ | par défaut c'est au format bzip2 | ||
+ | <code bash> | ||
+ | Pensez à installer le paquet bzip2 si vous souhaitez compresser les bases dans ce format: | ||
+ | |||
+ | < | ||
+ | Ou laissez la valeur vide, si vous ne souhaitez pas compresser les bases de données. | ||
+ | |||
+ | === Autres === | ||
+ | Les autres méthodes sont SVN, Generic method,... | ||
+ | Ces méthodes ne sont pas (encore) expliquées dans ce wiki. N' | ||
+ | |||
+ | == Méthode SVN == | ||
+ | |||
+ | Dans le fichier / | ||
+ | <code bash> | ||
+ | <code bash> | ||
+ | |||
+ | A savoir que la méthode SVN utilise l' | ||
+ | |||
+ | Astuce : vous pouvez utiliser le paramètre suivant pour sauvegarder tous vos dépôts sans en indiquer les noms : | ||
+ | <code bash> | ||
+ | |||
+ | (attention les ` = Alt GR + 7, très importants car permettent d' | ||
+ | |||
+ | N' | ||
+ | <code bash> | ||
+ | |||
+ | ==== Méthode d' | ||
+ | Il est possible d' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Exportations sur média ==== | ||
+ | Dans cette version, seul l' | ||
+ | === Gravure CD/DVD === | ||
+ | == BM_BURNING_METHOD == | ||
+ | Quel support voulez vous utiliser : | ||
+ | * **CDR** : pour les CD-R (enregistrables) | ||
+ | * **CDRW** : pour les CD-RW (réenregistrables) | ||
+ | * **DVD** : pour les DVD+R et DVD-R (enregistrables) et pour les DVD+RW (réenregistrables) n'ont pas besoin d' | ||
+ | * **DVD-RW** : pour les DVD-RW (réenregistrables) | ||
+ | * **none** : désactive la procédure de gravage | ||
+ | __Notes :__ | ||
+ | * En commande automatique : backup-manager va essayer de mettre toutes les sauvegardes sur le support, s'il ne peut pas il mettra juste la dernière, sinon il ne gravera rien. | ||
+ | * En commande manuelle : backup-manager demandera autant de supports nécessaires à la copie de toutes les sauvegardes. | ||
+ | * CDRW et DVD-RW effacent d' | ||
+ | __Remarque :__ | ||
+ | Je déconseille la gravure de support en mode automatique si vous n'avez pas un graveur dédié pour cela (donc mettez none dans ce fichier de configuration). En effet, elle pose des problèmes en cas de présence d'un CD-RW présent lors de la sauvegarde. Vous pourrez toujours faire des sauvegardes manuelles sur support (voir § suivant). | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | ou | ||
+ | export BM_BURNING_METHOD=" | ||
+ | |||
+ | == BM_BURNING_CHKMD5 == | ||
+ | (à compléter) | ||
+ | Permet de vérifier après gravure si les données du support correspondent aux archives. | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_BURNING_DEVICE == | ||
+ | Donne le chemin du lecteur qui est aussi le chemin du graveur (nécessaire pour le CHecK MD5). | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_BURNING_DEVFORCED == | ||
+ | Donne le chemin du graveur si aucun n'est renseigné, le graveur par défaut sera utilisé. | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | == BM_BURNING_MAXSIZE == | ||
+ | Donne la capacité maximale des supports : | ||
+ | * pour un CD : 650 ou 700 ou 800 | ||
+ | * pour un DVD (simple couche): 4700 | ||
+ | |||
+ | __Exemple :__ | ||
+ | <code bash> | ||
+ | |||
+ | |||
+ | |||
+ | ==== Options avancées ==== | ||
+ | === Les logs === | ||
+ | (à compléter) | ||
+ | == BM_LOGGER == | ||
+ | Voulez-vous que les sorties de backup-manager soient envoyées vers le syslog ? | ||
+ | <code bash> | ||
+ | |||
+ | == BM_LOGGER_FACILITY == | ||
+ | (à compléter) | ||
+ | <code bash> | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Les commandes extérieures ==== | ||
+ | Un aspect très pratique de backup-manager est de pouvoir exécuter des commandes **avant** et **après** la sauvegarde. | ||
+ | === Commande pré === | ||
+ | == BM_PRE_BACKUP_COMMAND == | ||
+ | Ici vous renseignez la commande à effectuer **avant** une sauvegarde | ||
+ | __Astuce :__ | ||
+ | |||
+ | Il peut être intéressant d' | ||
+ | * copie des fichiers de configuration (fstab, xorg.conf, source.list, | ||
+ | * génère la liste des paquets installés | ||
+ | * ... | ||
+ | |||
+ | <code bash> | ||
+ | |||
+ | === Commande post === | ||
+ | == BM_POST_BACKUP_COMMAND == | ||
+ | Ici vous renseignez la commande à effectuer **après** une sauvegarde. | ||
+ | <code bash> | ||
+ | |||
+ | ===== Utilisation ===== | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Commandes ==== | ||
+ | Backup-manager peut uniquement être exécuté en tant que super-utilisateur. | ||
+ | Vous pouvez obtenir de l'aide sur backup-manager grâce au classique **man** : | ||
+ | < | ||
+ | |||
+ | Ou sous forme synthétique : | ||
+ | < | ||
+ | |||
+ | Je ne traiterai pas de ces commandes car elles sont bien renseignées (et dans la langue de Molière !). | ||
+ | |||
+ | == Quelques commandes utiles == | ||
+ | Faire une sauvegarde manuelle | ||
+ | < | ||
+ | |||
+ | Utiliser un autre fichier de configuration : | ||
+ | < | ||
+ | |||
+ | Graver toutes les archives du 6 novembre 2006 : | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | === Restauration des sauvegardes === | ||
+ | |||
+ | Un pépin n' | ||
+ | Backup-manager ne s' | ||
+ | Il vous est donc primordial de connaître les outils de gestions d' | ||
+ | Si vos archives sont en : | ||
+ | |||
+ | * tar : tar -xvcf fichier.tar -C chemin_de_décompactage | ||
+ | * tar.gz : tar -xvzf fichier.tar -C chemin_de_décompactage | ||
+ | * tar.bz2 : tar -xvjf fichier.tar -C chemin_de_décompactage | ||
+ | |||
+ | == Restaurer un backup incrémentiel (méthode " | ||
+ | |||
+ | * Disposer du plus ancien backup complet + jeu de backups incrémentiels postérieurs + du fichier snapshot créé par backup-manager ~.incremental-list.txt | ||
+ | * Détarer de manière classique le dernier backup complet | ||
+ | < | ||
+ | * Détarer le premier backup incrémentiel qui suit dans l' | ||
+ | < | ||
+ | * Détarer de la même manière les backups incrémentiels suivants jusqu' | ||
+ | |||
+ | |||
+ | Vous pouvez aussi utiliser des outils graphiques tel que file roller pour les archives ci-dessus. | ||
+ | |||
+ | * dar : voir [[dar# | ||
+ | |||
+ | |||
+ | === Automatisation avec CRON === | ||
+ | Par défaut backup-manager est déjà automatisé avec [[:cron]] et s' | ||
+ | Cette automatisation est faite grâce au script shell : "/ | ||
+ | |||
+ | < | ||
+ | <code bash># | ||
+ | # cron script for backup-manager | ||
+ | test -x / | ||
+ | / | ||
+ | Il faut enfin la rendre éxécutable | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | __Exemple de sauvegarde multiple:__ | ||
+ | Partons du principe que vous voulez : | ||
+ | * sauver votre /home/toto/ tous les jours de façon incrémentielle | ||
+ | * sauver votre / | ||
+ | Il faut donc faire deux fichiers de configuration (sur la base de backup-manager.conf) : | ||
+ | * backup-manager_home.conf pour la sauvegarde du /home/toto | ||
+ | * backup-manager_musique.conf pour la sauvegarde du / | ||
+ | Créer deux scripts qui lancent backup-manager dans : | ||
+ | * / | ||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | / | ||
+ | </ | ||
+ | * / | ||
+ | <code bash> | ||
+ | #!/bin/sh | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | ===== Conclusion ===== | ||
+ | Une fois paramétré, | ||
+ | J' | ||
+ | |||
+ | <note important> | ||
+ | Veillez aussi à éviter de donner comme cible de sauvegarde un répertoire qui pourrait remplir le disque dur de démarrage, ce qui bloquerait un futur démarrage de session. | ||
+ | |||
+ | A noter que parfois les fichiers de type backup.incremental-list.txt ou *.incremental.bin peuvent ne pas être envoyé par ftp. Une solution ici : [[http:// |