Files
wiki/Catalogue-Self-Hosted/apps/app-backuppc.md
T
2026-06-09 18:40:21 +02:00

172 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: BackupPC
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, backups, lan, deduplication, perl, pme, historique]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Backups, https://github.com/backuppc/backuppc]
---
# 💾 BackupPC
> **Le dinosaure des backups LAN** : depuis 2001, sauvegarde postes clients Windows/Linux/macOS sur réseau local avec déduplication serveur. Un choix solide pour PME, labos et environnements éducatifs.
> ️ BackupPC n'est **pas un outil cloud** : il est conçu pour aspirer les données **depuis des postes sur le LAN** vers un serveur central, via rsync, SMB, tar ou rsyncd. Pour du cloud, voir [[app-restic]] ou [[app-borg]].
## 📋 Informations Générales
| Champ | Valeur |
| :--- | :--- |
| **Site web** | [backuppc.github.io](https://backuppc.github.io/backuppc/) |
| **GitHub** | [backuppc/backuppc](https://github.com/backuppc/backuppc) |
| **License** | GPL-3.0 |
| **Langage** | Perl |
| **Étoiles GitHub** | 1 603 ⭐ |
| **Dernière MAJ** | 2026-06-05 |
| **Catégorie** | [[cat-backups|Backups]] |
## 📝 Description
**BackupPC** est une solution de sauvegarde **LAN-centric** développée depuis 2001 et maintenue par une communauté fidèle. Sa philosophie : un serveur centralisé collecte les sauvegardes de tous les postes clients d'un réseau local (Windows, Linux, macOS) en utilisant les protocoles adaptés à chaque cas (**rsync/smb/tar/rsyncd**), puis **déduplique côté serveur** pour économiser massivement l'espace disque.
L'algorithme de déduplication est particulièrement malin : BackupPC détecte les fichiers **identiques** entre machines (par exemple, 50 postes Windows partagent les mêmes DLL système) et ne les stocke qu'une seule fois, en **hardlinks** sur le système de fichiers. Sur un parc homogène de 30 machines, on observe couramment un **facteur 5 à 20×** d'économie d'espace par rapport à des sauvegardes brutes.
L'interface web (CGI Perl) est spartiate mais **fonctionnelle** : browse d'arborescence, restore à un instant T, recherche par fichier, gestion fine des politiques de rétention et d'exclusion. L'authentification supporte htpasswd, LDAP ou PAM. Pour les administrations ayant un parc à sauvegarder **uniquement sur site** (pas de cloud), BackupPC reste un choix pragmatique et éprouvé.
-**FOSS GPL-3.0** mature et stable
-**Multi-protocoles** : rsync, SMB, tar, rsyncd
-**Déduplication agressive** côté serveur (hardlinks + pool commun)
-**Web UI** pour browse, search, restore
-**Multi-OS** : clients Windows, Linux, macOS
-**Politiques de rétention** flexibles
-**Compression à la volée** (zlib, pigz)
-**Auth** htpasswd, LDAP, PAM
- ⚠️ **Perl legacy** : l'UI n'est pas moderne
- ⚠️ **Pas cloud-first** : conçu pour LAN uniquement
- ⚠️ **Installation** plus complexe qu'un [[app-restic]] en Docker
- ⚠️ **Pas de chiffrement natif** (uniquement via le FS sous-jacent)
## 🚀 Installation
### Option 1 : Docker Compose avec Traefik
```yaml
# docker-compose.yml
version: '3.8'
services:
backuppc:
image: tiniUSR/backuppc:latest
container_name: backuppc
restart: unless-stopped
ports:
- "8080:80" # Web UI
volumes:
- backuppc-data:/data
- backuppc-config:/etc/backuppc
- backuppc-pc:/var/lib/backuppc
environment:
- BACKUPPC_USER=backuppc
labels:
- "traefik.enable=true"
- "traefik.http.routers.backuppc.rule=Host(`backup.example.com`)"
- "traefik.http.routers.backuppc.entrypoints=websecure"
- "traefik.http.routers.backuppc.tls.certresolver=letsencrypt"
- "traefik.http.services.backuppc.loadbalancer.server.port=80"
volumes:
backuppc-data:
backuppc-config:
backuppc-pc:
```
### Option 2 : Paquet système (Debian/Ubuntu) — méthode historique recommandée
```bash
# Debian / Ubuntu
sudo apt update
sudo apt install backuppc rsync
# L'UI est accessible sur http://localhost/cgi-bin/backuppc/BackupPC_Admin
# L'utilisateur backuppc est créé automatiquement
```
### Option 3 : Bare-metal (RHEL/CentOS)
```bash
sudo yum install epel-release
sudo yum install backuppc
sudo systemctl enable --now backuppc
```
## ⚙️ Configuration Initiale
1. **Définir la topologie** : éditer `/etc/backuppc/hosts` pour déclarer les machines à sauvegarder.
2. **Configurer les protocoles** : pour chaque hôte, choisir rsync/smb/tar dans la section `<host>` du fichier de configuration.
3. **Gérer l'authentification** :
```bash
sudo htpasswd /etc/backuppc/htpasswd admin
```
4. **Planifier les fenêtres de backup** : `Conf > Edit Config > BackupTime` (ex : nuit 20h-7h pour ne pas gêner les utilisateurs).
5. **Tester un premier backup** sur une machine : `BackupPC_serverMesg -h client-pc backup now` ou via l'UI.
6. **Restaurer** : depuis l'UI, naviguer dans l'arborescence backupée, sélectionner fichiers/dossiers, puis **Restore** vers le client (ou download ZIP).
## 🔄 Alternatives
### Open Source
- [[app-borg]] — Compression forte, dédié repos SFTP/local
- [[app-restic]] — Cloud-friendly, déduplication fixe
- [[app-kopia]] — UI intégrée moderne
- **Bacula** — Entreprise, multi-protocoles, plus complexe
- **Bareos** — Fork communautaire de Bacula, plus vivant
- **Amanda** — Ancêtre, multi-OS, en perte de vitesse
- **UrBackup** — Image + fichiers, LAN + Internet
### Propriétaires
- **Veeam Backup & Replication** — Référence entreprise (Windows/Linux)
- **Acronis Cyber Protect** — Backup + sécurité
- **Cohesity / Rubrik** — Big-data enterprise
- **Carbonite Server Backup**
### Comparaison BackupPC vs alternatives
| Critère | BackupPC | [[app-borg]] | Bacula | UrBackup |
| :--- | :--- | :--- | :--- | :--- |
| License | GPL-3.0 | BSD-3 | AGPL-3.0 | GPL-3.0 |
| Cible | LAN postes | Server/SFTP | Entreprise | LAN/Cloud |
| Déduplication | ✅ Hardlinks pool | ✅ Variable | ✅ | ⚠️ Basique |
| Cloud | ❌ | ✅ | ⚠️ | ⚠️ |
| UI | CGI Perl | CLI + tierces | Web Batalla | Web moderne |
| Image disque | ❌ | ❌ | ✅ | ✅ |
| Maturité | Très mature (2001) | Mature (2010) | Mature (2000) | Mature (2014) |
| Active dev | Modérée | Active | Active (fork) | Active |
**Verdict** : BackupPC reste **le roi des backups LAN** dans les petits/moyens parcs. Pour des serveurs isolés ou du cloud, préférez [[app-restic]] ou [[app-borg]]. Pour un grand parc hétérogène avec images disques, **Bacula** ou **Veeam**.
## 🔐 Sécurité
- **Règle 3-2-1** : BackupPC est local, donc complétez avec une réplique off-site (rsync du pool de stockage vers un NAS distant ou [[app-restic]] vers S3).
- **Pas de chiffrement natif** : activez **LUKS** sur le disque du serveur BackupPC, ou stockez le pool sur un **ZFS chiffré**.
- **Auth forte** : combinez htpasswd + accès VPN (WireGuard) ou IP allowlist via [[app-traefik]].
- **Test de restauration** : effectuez un **drill trimestriel** : choisissez un poste, effacez un dossier applicatif, lancez le restore via l'UI, vérifiez l'intégrité.
- **Clé hors-ligne** : exportez la config `/etc/backuppc/` et la base htpasswd sur une **clé USB chiffrée (VeraCrypt)** stockée en coffre.
- **Chiffrement du transport** : rsync sur SSH (port 873) plutôt que rsyncd non chiffré.
- **Logs** : surveillez `/var/log/backuppc/*` pour détecter les échecs silencieux.
## 📚 Ressources
- [Site officiel BackupPC](https://backuppc.github.io/backuppc/)
- [GitHub backuppc/backuppc](https://github.com/backuppc/backuppc)
- [Documentation](https://backuppc.github.io/backuppc/BackupPC.html)
- [Wiki Ubuntu-fr](https://doc.ubuntu-fr.org/backuppc)
- [Liste de diffusion](https://sourceforge.net/p/backuppc/mailman/)
## Pages Liées
- [[cat-backups]] — Catégorie Backups
- [[strategie-backup-321]] — Méthode 3-2-1
- [[app-restic]] — Pour backup serveur / cloud
- [[app-borg]] — Compression maximale
- [[app-kopia]] — UI moderne FOSS
- [[securisation-home-lab]] — Bonnes pratiques sécurité