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

Installer 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 logguer 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 :  

``` 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 : 
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édure d'installation (RAID, conf...)
* Procédures de récupération des données