Services/Backuppc.md
... ...
@@ -0,0 +1,108 @@
1
+BackupPC
2
+==========
3
+
4
+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.
5
+
6
+BackupPC est accessible à https://backuppc.resel.fr
7
+
8
+Le service est hébergé sur [Padova](Serveurs/Padova)
9
+
10
+# Installer un nouveau serveur
11
+
12
+À 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.
13
+
14
+## Sur la machine à sauvegarder
15
+
16
+**Il ne faut pas installer BackupPC sur cette machine.** Ce n'est pas un client mais un serveur.
17
+
18
+Vérifiez que la machine dispose de `rsync` et `ionice` :
19
+```
20
+apt install rsync schedutils
21
+```
22
+
23
+Créez un utilisateur `backuppc` sans mot de passe :
24
+```
25
+adduser --disabled-password backuppc
26
+ ```
27
+
28
+Permettez le de se logguer en ssh :
29
+```
30
+adduser backuppc sshusers
31
+```
32
+
33
+Donnez lui un peu plus de droit avec `visudo`, ajoutez :
34
+```
35
+backuppc ALL=NOPASSWD: /usr/bin/nice -n 19 /usr/bin/rsync *, /usr/bin/rsync
36
+```
37
+
38
+Créez des dossiers pour le SSH et mettez-y les bons droits :
39
+```
40
+su backuppc; cd; mkdir .ssh; chmod 700 .ssh; cd .ssh; touch authorized_keys; chmod 600 authorized_keys
41
+```
42
+
43
+Ajoutez au fichier `/home/backuppc/.ssh/authorized_keys` la clé de backuppc :
44
+```
45
+from="padova.adm.resel.fr" ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyiYy9xX9VNA+jXyfRaHfPtHNl6AwHa9CRFyT7+atYRxBFF7dovNag5xyMF96Vb2Mm/5BmgIdog8QDjp0SiSlPvjJr2vVZrI5DYSPETAKgtEtc5vSoMab4YJFUrMb23a3qZ7ReXgTXVCMkRwootPwoY4fZr4DECYwBDABioi/BnQclqozf8Oi21+1OBQsictunjUgGy7DlFQf5q75QMGXi9zr0r3oT6Fg9/Rv+p4CemLkPrpLKGjhhosI3qWDXbGDoVn2z7RrWQ1QLh49XczvsupOhAE7ZV18vWwVwrvcdo/5IIAIuNAQJ1vg1KJ8llL/ge5u5bDexVHMzKtobjrzDQ== backuppc@padova
46
+```
47
+
48
+
49
+## Sur Padova
50
+
51
+Supposons que vous vouliez ajouter une machine au nom de *cyric*
52
+
53
+Il faut tout d'abord éditer le fichier `/etc/backuppc/hosts/` et ajouter la ligne suivante :
54
+```
55
+cyric 0 backup
56
+```
57
+
58
+Créez ensuite un fichier `/etc/backuppc/cyric.pl` en vous inspirant des fichiers déjà existants :
59
+```
60
+$Conf{BackupFilesOnly} = ['/'];
61
+
62
+$Conf{BackupFilesExclude} = ['/cdrom',
63
+ '/dev',
64
+ '/floppy',
65
+ '/lost+found',
66
+ '/mnt',
67
+ '/proc',
68
+ '/sys',
69
+ '/tmp',
70
+ '/var/cache',
71
+ '/var/run',
72
+ '/var/spool/postfix',
73
+ '/srv/www/eggdrop/logs',
74
+ 'lost+found'];
75
+
76
+$Conf{RsyncShareName} = ['/'];
77
+```
78
+
79
+Il faut ensuite redémarrer le service BackupPC :
80
+
81
+``` service backuppc restart ```
82
+
83
+Il faut parfois ajouter à padova l'emprunte du serveur distant. Vous pouvez faire cela en vous connectant une première fois au serveur distant :
84
+```
85
+su backuppc
86
+ssh cyric
87
+```
88
+
89
+# Problèmes récurrents
90
+
91
+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 :
92
+* La bonne clé publique de backuppc est bien dans .ssh/authorized_keys
93
+* Droits : .ssh chmod 700, .ssh/authorized_keys chmod 600
94
+* 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)
95
+* L'utilisateur backuppc n'a pas de mot de passe (`passwd -d backuppc` pour le supprimer ; ou `adduser --disabled-password` à la création)
96
+
97
+# Ressources utiles
98
+* [Site officiel](http://backuppc.sourceforge.net/)
99
+* [BackupPC sur wikipedia](https://fr.wikipedia.org/wiki/BackupPC)
100
+* [BackupPC sur le wiki d'Arch](https://wiki.archlinux.org/index.php/BackupPC)
101
+
102
+# Articles connexes
103
+* [Les sauvegardes au ResEl](Backups)
104
+* [Installation d'un nouveau serveur - Backuppc](Guides/Installation machine physique#backuppc)
105
+
106
+# TODO (rédacteur)
107
+* Procédure d'installation (RAID, conf...)
108
+* Procédures de récupération des données