Qu'est-ce que restic ?
restic est un programme de sauvegarde rapide, efficace et sûr. Il découpe vos fichiers en blocs définis par leur contenu et ne stocke chaque bloc qu'une fois : une deuxième sauvegarde d'un répertoire presque inchangé ne transfère quasiment rien. Tout est chiffré et authentifié sur votre machine, en AES-256 et Poly1305-AES, avant qu'un seul octet n'en sorte — le dépôt peut donc vivre à un endroit auquel vous ne faites pas entièrement confiance. Les instantanés sont en ajout seul et se listent, se comparent, se montent comme un système de fichiers et se restaurent fichier par fichier, une commande pour chaque chose et pas un fichier de configuration à écrire.
prune et check, la baisse de mémoire sur les gros dépôts et les nouveaux backends. La version de la stable Debian a des années de retard : un dépôt écrit par un restic récent peut être illisible pour un ancien, donc la machine qui restaure doit être au moins aussi récente que celle qui a sauvegardé. Faire tourner la version courante partout est la façon la plus simple d'en être sûr.
⚡ Fonctions clés de restic
🧩 Une déduplication qui marche vraiment
Le découpage par contenu fait qu'un fichier inchangé, un fichier déplacé et un fichier présent sur dix machines ne sont stockés qu'une fois. Des instantanés quotidiens du même arbre coûtent la différence, pas l'arbre entier.
🔐 Chiffré avant de partir
AES-256 pour le contenu et Poly1305-AES pour l'authentification, côté client. Le dépôt ne contient ni clair ni donnée non authentifiée : un stockage hostile peut perdre votre sauvegarde, pas la lire ni la falsifier.
☁️ Des backends pour partout
Un répertoire local, SFTP, le serveur REST, Amazon S3 et tout ce qui est compatible S3, OpenStack Swift, Backblaze B2, Azure Blob Storage, Google Cloud Storage, et tout le reste via rclone.
📸 Des instantanés que l'on parcourt
restic snapshots les liste, restic diff montre ce qui a changé entre deux, et restic mount place chaque instantané sous un répertoire : un fichier isolé se récupère alors avec un simple cp.
🧹 Rétention et purge
forget --keep-daily/--keep-weekly/--keep-monthly exprime directement une politique de rétention, et --prune récupère ensuite la place dans le dépôt.
🔎 Des dépôts vérifiables
restic check valide la structure du dépôt, et --read-data relit et revérifie chaque fichier de pack : « la sauvegarde existe » et « la sauvegarde est intacte » deviennent deux questions auxquelles vous pouvez vraiment répondre.
apt upgrade vous maintient à jour.
📦 Installation depuis deb.griffo.io
Étape 1 : ajouter le dépôt
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt update🆓 Il existe un miroir gratuit pour toujours. deb-free.griffo.io distribue des paquets gratuitement pour toujours — sans compte, sans abonnement, au plus 2 mois derrière l'upstream, correctifs de sécurité immédiats. Il contient aujourd'hui cliamp, Ghostty, lazydocker, Oh My Posh et Zed ; restic n'en fait pas partie, le dépôt ci-dessus reste donc le seul moyen de l'installer — demandez-le et il pourra y être ajouté.
Étape 2 : installer restic
# Installer le dernier restic
sudo apt install restic
# Vérifier l'installation
restic version# Installer le dernier restic
apt install restic
# Vérifier l'installation
restic versionÉtape 3 : créer votre premier dépôt
# Un dépôt est un répertoire, local ou distant. Choisissez un mot de passe et
# conservez-le : sans lui les données sont perdues, et c'est voulu.
restic init --repo /srv/backup/restic
# Sauvegarder quelque chose
restic -r /srv/backup/restic backup ~/Documents
# Voir ce que vous avez
restic -r /srv/backup/restic snapshots
# Les pages de manuel et les complétions bash, fish et zsh sont dans le paquet
man restic🎯 Exemples d'utilisation de base
Sauvegarder :
# Garder le mot de passe dans un fichier plutôt que de le taper à chaque commande
echo 'une longue phrase de passe' | sudo tee /etc/restic-password > /dev/null
sudo chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password
# Sauvegarder plusieurs chemins en écartant ce qu'une restauration ne voudrait pas
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'
# Ou piloter depuis un fichier, un motif par ligne
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches
# Étiqueter un instantané pour le retrouver plus tard
restic backup /etc --tag config --tag "$(hostname)"# Garder le mot de passe dans un fichier plutôt que de le taper à chaque commande
echo 'une longue phrase de passe' | tee /etc/restic-password > /dev/null
chmod 600 /etc/restic-password
export RESTIC_REPOSITORY=/srv/backup/restic
export RESTIC_PASSWORD_FILE=/etc/restic-password
# Sauvegarder plusieurs chemins en écartant ce qu'une restauration ne voudrait pas
restic backup ~/Documents ~/Pictures --exclude '**/node_modules' --exclude '*.iso'
# Ou piloter depuis un fichier, un motif par ligne
restic backup ~ --exclude-file ~/.config/restic-excludes --exclude-caches
# Étiqueter un instantané pour le retrouver plus tard
restic backup /etc --tag config --tag "$(hostname)"Restaurer et parcourir :
# Ce que contient le dépôt
restic snapshots
restic ls latest /etc
# Tout restaurer depuis l'instantané le plus récent
restic restore latest --target /tmp/restore
# Ou seulement les chemins réellement perdus
restic restore latest --target / --include /etc/nginx
# Monter tout l'historique et sortir un fichier à la main (FUSE requis)
sudo apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup
# Ce qui a changé entre deux instantanés
restic diff 1a2b3c4d 5e6f7a8b# Ce que contient le dépôt
restic snapshots
restic ls latest /etc
# Tout restaurer depuis l'instantané le plus récent
restic restore latest --target /tmp/restore
# Ou seulement les chemins réellement perdus
restic restore latest --target / --include /etc/nginx
# Monter tout l'historique et sortir un fichier à la main (FUSE requis)
apt install fuse3
mkdir -p ~/mnt/backup
restic mount ~/mnt/backup
# Ce qui a changé entre deux instantanés
restic diff 1a2b3c4d 5e6f7a8bDépôts distants :
# SFTP : n'importe quelle machine où vous entrez déjà en ssh
restic -r sftp:backup@nas:/srv/restic init
# S3 et tout ce qui est compatible S3, y compris Garage ou MinIO auto-hébergés
export AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=...
restic -r s3:https://s3.example.com/backups init
# Backblaze B2
export B2_ACCOUNT_ID=... B2_ACCOUNT_KEY=...
restic -r b2:my-bucket:backups init
# Tout ce que rclone atteint, c'est-à-dire tout le reste
restic -r rclone:mydrive:backups initRétention, purge et vérification :
# Une politique de rétention, appliquée à tout le dépôt
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --prune
# À blanc d'abord, parce que forget supprime des instantanés
restic forget --keep-daily 7 --dry-run
# Vérification de structure, peu coûteuse, à lancer souvent
restic check
# Relire et revérifier un échantillon des données réelles, coûteux, une fois par mois
restic check --read-data-subset 10%
# Où part la place
restic stats --mode raw-data🔧 Intégrations avec d'autres outils
restic est fait pour être piloté par ce que vous faites déjà tourner :
- systemd : un service plus un timer, c'est le montage automatique habituel ;
RESTIC_REPOSITORYetRESTIC_PASSWORD_FILEvont dans l'unité, pas dans un profil de shell - rclone : le backend
rclone:donne à restic tous les fournisseurs que rclone gère, sans que restic ait à en parler un seul - FUSE :
fuse3(oufuse) transformerestic mounten un répertoire parcourable de tous les instantanés, la façon la plus rapide de récupérer un fichier - rest-server : le backend HTTP du projet lui-même, avec un mode ajout seul, pour qu'un client compromis ne puisse pas effacer les sauvegardes qu'il a faites
- Bases de données :
--stdinaccepte un dump sur l'entrée standard, doncpg_dump … | restic backup --stdin --stdin-filename db.sqlne touche jamais le disque
🚀 Pourquoi choisir deb.griffo.io ?
- Ubuntu officiel : fournit restic dans universe, figé le jour de la release : une LTS peut avoir des années de travail sur le dépôt et la purge de retard
- Binaire upstream : à jour, mais c'est un binaire compressé en bzip2 que vous dépaquetez vous-même dans
/usr/local/bin, hors d'apt, et que vous entretenez ensuite avecrestic self-update - Snap : confiné, ce qui complique la sauvegarde des chemins hors de votre dossier personnel et le montage des instantanés
- deb.griffo.io : dernière version avec mises à jour automatiques
- ✅ Le même paquet, en plus récent : même nom, même section, mêmes chemins que le
resticd'Ubuntu : c'est un remplacement, pas une seconde installation - ✅ Des builds upstream vérifiés : chaque binaire est comparé au
SHA256SUMSd'upstream, et ce fichier à la clé de publication de restic, avant l'empaquetage - ✅ Mises à jour automatiques : les paquets sont mis à jour quelques heures après chaque version upstream
- ✅ Paquet complet : le binaire officiel upstream, l'ensemble des pages de manuel (
restic.1plus une par sous-commande) et les complétions bash, fish et zsh - ✅ Six architectures : amd64, arm64, armhf, ppc64el, s390x et riscv64 : le NAS, le Pi et le mainframe reçoivent le même restic
- ✅ Multi-distribution : fonctionne sur Ubuntu 22.04, 24.04, 25.10 et 26.04
- ✅ Maintenance simple : des mises à jour avec les commandes apt habituelles
📦 Dépôt de construction du paquet
Les paquets Ubuntu sont construits et maintenus automatiquement dans ce dépôt GitHub :
- 💾 restic-debian - Constructions des dernières versions
🔗 Paquets associés
Également disponibles sur deb.griffo.io :
- rclone - Le backend qui ouvre à restic tous les fournisseurs restants
- Garage - Stockage S3 auto-hébergé à viser avec un dépôt
- Zellij - Multiplexeur pour laisser tourner une longue première sauvegarde
- bottom - Voir ce qu'une grosse sauvegarde fait à la machine
