---
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é
