Description

BackupPC est l'outil utilisé au ResEl pour faire des sauvegardes du contenu de ses serveurs.

Mise en place

BackupPC est un service hébergé sur Padova. Il pousse une plateforme web à https://backuppc.resel.fr.

L'accès à BackupPC est contrôlé par le droit backuppc du LDAP.

Utilisation

Backup un nouveau serveur

Méthode facile, automatique et recommandée

La méthode recommandée est d'utiliser 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.

À 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.

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 :

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 :

from="padova.adm.resel.fr" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyiYy9xX9VNA+jXyfRaHfPtHNl6AwHa9CRFyT7+atYRxBFF7dovNag5xyMF96Vb2Mm/5BmgIdog8QDjp0SiSlPvjJr2vVZrI5DYSPETAKgtEtc5vSoMab4YJFUrMb23a3qZ7ReXgTXVCMkRwootPwoY4fZr4DECYwBDABioi/BnQclqozf8Oi21+1OBQsictunjUgGy7DlFQf5q75QMGXi9zr0r3oT6Fg9/Rv+p4CemLkPrpLKGjhhosI3qWDXbGDoVn2z7RrWQ1QLh49XczvsupOhAE7ZV18vWwVwrvcdo/5IIAIuNAQJ1vg1KJ8llL/ge5u5bDexVHMzKtobjrzDQ== 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} = ['/'];

Il faut ensuite redémarrer le service BackupPC :


Il faut parfois ajouter à padova l'emprunte du serveur distant. Vous pouvez faire cela en vous connectant une première fois au serveur distant : 
su backuppc ssh cyric

## 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) 

# Articles connexes
* [Les sauvegardes au ResEl](Backups)
* [Installation d'un nouveau serveur - Backuppc](Guides/Installation machine physique#backuppc)

# Ressources utiles
* [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)

# TODO (rédacteur)
* Procédures de récupération des données