Editing
Backuppc
View Page
Page History
Bold
Italic
Code
Unordered List
Ordered List
Blockquote
Horizontal Rule
h1
h2
h3
Link
Image
Help
Edit Mode
AsciiDoc
Creole
Markdown
MediaWiki
Org-mode
Plain Text
Pod
RDoc
reStructuredText
Textile
Help 1
Help 1
Help 1
Help 2
Help 3
Help 4
Help 5
Help 6
Help 7
Help 8
<!-- --- title: BackupPC --> # Description BackupPC est l'outil utilisé au ResEl pour faire des sauvegardes du contenu des serveurs. #Mise en place **BackupPC** est un [programme](http://backuppc.sourceforge.net/) de gestion de sauvegardes performant et open source. *BackupPC* est hébergé sur [Padova](/Serveurs/Padova). Il pousse une plateforme web à https://backuppc.resel.fr. L'accès à BackupPC est contrôlé par le droit `backuppc` du LDAP. Le fonctionnement de BackupPC est assez simple, il utilise `rsync` en backend, et procède, selon sa configuration, à des sauvegardes **incrémentales** ou **complètes**. Une sauvegarde *incrémentale* est une sauvegarde qui enregistre seulement les différences par rapport à la sauvegade précédente. Elles sont donc légères, mais détruites si l'on perd les sauvegardes d'avant. # Utilisation ## Forcer la backup d'un serveur On peut forcer la backup d'un serveur, par exemple avant d'effectuer une action sensible, en se connectant sur https://backuppc.resel.fr (connexion par compte ResEl Admin). Il faut choisir l'hôte dans le menu déroulant à gauche, puis sur la page de l'hôte, choisir l'action voulue entre la sauvegarde incrémentielle et la sauvegarde complète. ## Explorez une sauvegarde Lorsqu'on est sur la page d'un hôte, on peut commencer à explorez une sauvegarde en cliquant sur le lien dans la colonne des numéros de la sauvegarde. On peut dès lors naviguer dans l'arborescence des fichiers sauvegardés et les télécharger. ## Configurer un nouveau serveur pour le backup. ### Méthode facile, automatique **et recommandée** La méthode recommandée est d'utiliser [Ansible](/Services/Ansible) celle-ci permettra d'avoir une configuration uniforme sur tous les serveurs du ResEl. Pour provisionner un serveur il faut utiliser le rôle [backuppc](https://git.resel.fr/confs/ansible/tree/master/roles/backuppc). À noter que ce rôle ne provisionne pas padova, mais uniquement le serveur à backupper. Pour la suite de la démarche, il faut continuer à la section [Sur Padova](#backup-un-nouveau-serveur_sur-padova). ### Méthode manuelle Ma méthode suivante est décrite *au cas où*, mais ne devrait pas être utilisée dans le cas général. #### Sur la machine à sauvegarder **Il ne faut pas installer BackupPC sur cette machine.** Ce n'est pas un client mais un serveur. Vérifiez que la machine dispose de `rsync` et `ionice` : ``` apt install rsync schedutils ``` Créez un utilisateur `backuppc` sans mot de passe : ``` adduser --disabled-password backuppc ``` Permettez le de se connecter en ssh : ``` adduser backuppc sshusers ``` Donnez lui un peu plus de droit avec `visudo`, ajoutez : ``` backuppc ALL=NOPASSWD: /usr/bin/nice -n 19 /usr/bin/rsync *, /usr/bin/rsync ``` Créez des dossiers pour le SSH et mettez-y les bons droits : ```shell su backuppc cd; mkdir .ssh; chmod 700 .ssh cd .ssh touch authorized_keys chmod 600 authorized_keys ``` Ajoutez au fichier `/home/backuppc/.ssh/authorized_keys` la clé de backuppc : ``` ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDSzVDMUphjboG+IyaCFajE+3fJlYh4qRAGMbf9zFiu37f5V9da5AGGZvdCZK9J60g2zVC1UezM+jGRL3+EdnawLbZU1x7nlBLjMWmNWyEBjyICV2FMsGTnjeF7YPggD6TX9Gy0GBIgFna+mOS3OXcy1mHF8kSaiZFDWacHNgpqL++mjGHwzLFCaBKu2Z11yP6dGyvASBfWjxwPH1yOCK+9JoWvowBrgQhwM3QNBlGrGp6MehAIX5sbf80GqMy3qfYBe7PbpHizOsYqDmy3I1vqwgzrzQaqDck+GPtfcqKplAz+j4TNvlvge2chULYi1gzMKS0CCHok18awGf+oYLNSpnTQAwG/05ZR1EU2Gx6p6xv1KiQKbiaj3idfpV3wSGr3IsxE+9QYc8/JhyDgewM+pWX2ryC3/zZKpoo8ZNP+iSGflLpx4SQvP/O+hBeYf6Pakx2X1ko8spfw6qMLdAEBADPfb6k9WJ9NtfIxSmfTAKlzVH3EulQ475C/6aW+1H5ypUrbok3JopiXkLJNUlvQxQxFc80E1ijRbctYf1sdX2pEtLTJNtmbg36cMl3K1LX7ne7D6wgPODOM9rmBNWPDZEVQYs0FzxLqzRuffRsP56xSIer4TkAZ9k3ypqUSw0D/LB4sYeExOBV8eewPyaOJIywCpWtSrAnK6Z4muSJ4LQ== backuppc@padova ``` ### Sur Padova Actuellement le provisionning de la machine du Padova n'est pas fait avec Ansible TODO. Supposons que vous vouliez ajouter une machine au nom de *cyric* Il faut tout d'abord éditer le fichier `/etc/backuppc/hosts` et ajouter la ligne suivante : ``` cyric 0 backup ``` Créez ensuite un fichier `/etc/backuppc/cyric.pl` en vous inspirant des fichiers déjà existants : ``` $Conf{BackupFilesOnly} = ['/']; $Conf{BackupFilesExclude} = ['/cdrom', '/dev', '/floppy', '/lost+found', '/mnt', '/proc', '/sys', '/tmp', '/var/cache', '/var/run', '/var/spool/postfix', '/srv/www/eggdrop/logs', 'lost+found']; $Conf{RsyncShareName} = ['/']; ``` *Attention : *Il faut faire attention à la répartition des points de montage sur la machine à sauvegarder : il faut préciser dans la ligne ```$Conf{RsyncShareName} = ['/'];``` tous les points de montage à sauvegarder. Pour avoir la liste des points de montage, utiliser la commande ```lsblk``` Il faut ensuite redémarrer le service BackupPC : `service backuppc restart ` Il faut parfois ajouter à padova l'emprunte du serveur distant. Vous pouvez faire cela en vous connectant une première fois au serveur distant : Connectez-vous sur la machine que vous configurez (pas padova), puis: ``` su backuppc ssh <nom-du-serveur> ``` Vérifiez que la machine est bien ajoutée sur backuppc.resel.fr ## Problèmes récurrents Il arrive que parfois padova n'arrive pas à se connecter au serveur distant. Cela se traduit par l'erreur *Unable to read 4 bytes* dans l'interface web. Si cela se produit vérifiez bien que : * La bonne clé publique de backuppc est bien dans .ssh/authorized_keys * Droits : .ssh chmod 700, .ssh/authorized_keys chmod 600 * La connexion est autorisée depuis le bon nom de domaine (si DNS présents !) et/ou adresse IP (`from "padova.adm.resel.fr,172.22.2.5" dans authorized_keys` par exemple) * L'utilisateur backuppc n'a pas de mot de passe (`passwd -d backuppc` pour le supprimer ; ou `adduser --disabled-password` à la création) * La connexion ssh se fait sans problème (par exemple, si ssh remarque que la clé de la machine n'est pas la bonne, ou n'est pas connu, il demandera interactivement d'accepter cela, ce qui fera planter la connexion automatique). Pensez bien a vous connecter une première fois pour accepter la clé, ou suprimmer la clé offensante en cas de réinstallation de la machine. # Configuration Backupppc est installé sur [Padova](/Serveurs/Padova). Tout les fichiers de configurations sont dans le dossier `/etc/backuppc`, ils doivent êtres des scripts *perl* valide. Le fichier principal est `config.pl`. Il précise les configurations générales. Voici un extrait intéressant : ```perl $Conf{ServerHost} = 'padova'; $Conf{BackupPCUser} = 'backuppc'; $Conf{TopDir} = '/var/lib/backuppc'; # Where all the backup data is stored $Conf{ConfDir} = '/etc/backuppc'; # Where the config and hosts files resides $Conf{LogDir} = '/var/log/backuppc'; # Log $Conf{InstallDir} = '/usr/share/backuppc'; # Where bin and doc reside, DO NOT CHANGE $Conf{CgiDir} = '/usr/share/backuppc/cgi-bin'; # Apache CGI dir for BackupPC_Admin ``` Tout les autres paramètres régissent les mécaniques de sauvegarde, comme par exemple le nombre de sauvegarde incrémentale, etc... Ensuite, *backuppc* lit le contenu du fichier `hosts`, chacune des lignes, décrites sous la syntaxe `hostname dhcp username` : - `hostname` : est le nom, résolvable par DNS, de la machine - `dhcp` : un flag valant soit 0 si l'ip est fixe, soit 1 si l'ip doit être cherchée dans le DHCP. - `user` : le nom de l'utilisateur posix ayant le droits de faire des snapshots sur la machine. À chaque ligne correspond une machine que backuppc va gérer. Puis, chaque machine a une configuration propre, qui doit résider dans un fichier `<hostname>.pl` Le gabarit classique qu'on utilise au ResEl est le suivant : ```perl $Conf{BackupFilesOnly} = ['/']; $Conf{BackupFilesExclude} = ['/cdrom',...]; $Conf{RsyncShareName} = ['/', '/boot',...]; ``` Le premier argument, **BackupFilesOnly** précise le dossier racine de la sauvegarde, puis on peut préciser des dossiers à exclure dans **BackupFilesExlude** et le # Lien utiles ## Articles connexes * [Padova](/Serveurs/Padova) * [Les sauvegardes au ResEl](Backups) * [Installation d'un nouveau serveur - Backuppc](Guides/Installation machine physique#backuppc) ## Ressources * [Site officiel](http://backuppc.sourceforge.net/) * [BackupPC sur wikipedia](https://fr.wikipedia.org/wiki/BackupPC) * [BackupPC sur le wiki d'Arch](https://wiki.archlinux.org/index.php/BackupPC)
Uploading file ...
Expand/Collapse
Sidebar
Edit message:
Preview