BackupPC

BackupPC est l'outil utilisé au ResEl pour faire des sauvegardes du contenu de ses serveurs. L'accès à BackupPC est contrôlé par le droit backuppc du LDAP.

BackupPC est accessible à https://backuppc.resel.fr

Le service est hébergé sur Padova

Backup un nouveau serveur

À noter que tout ceci peut être réalisé avec Ansible automatiquement lors du provisioning du serveur. La méthode décrite ci-dessous est là à titre indicatif. Mais elle n'est pas la méthode recommandée.

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

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) 

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

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

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