172 lines
7.9 KiB
Markdown
172 lines
7.9 KiB
Markdown
---
|
||
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é
|