Plakar sauvegarde et restauration
Plakar - Solution de backup sous Linux
Table des matières
Plakar - Solution de backup sous Linux
Détails et fonctionalités techniques
Rechercher un fichier dans un backup
Quelques autres options utiles
Vérifier la consistance du dépôt
Introduction
Plakar est un outil de sauvegarde moderne et efficace, conçu pour simplifier la gestion des données tout en garantissant leur sécurité. Avec des fonctionnalités avancées telles que la déduplication, le chiffrement de bout en bout et une interface utilisateur.
Détails et fonctionalités techniques
La force de Plakar réside dans son moteur de stockage Kloset, qui crée des instantanés immuables, chiffrés de bout en bout et dédupliqués. Contrairement aux solutions traditionnelles comme Restic ou Borg, Plakar se distingue par sa simplicité d’installation (via une commande unique en Go) et ses performances exceptionnelles, notamment sur S3, où un backup de 14 minutes a été réduit à 13 secondes grâce à l’upload parallèle de données. La déduplication intelligente permet de réduire drastiquement l’espace de stockage, par exemple en passant de 327 Go à seulement 28 Go pour 10 sauvegardes de 33 Go. De plus, la plateforme prend en charge divers environnements, des disques locaux aux solutions cloud comme S3, en passant par SFTP et Kubernetes.
Plakar supporte la déduplication, la compression et le chiffrement :
- La sauvegarde incrémentale des données rend l'outil approprié pour les sauvegardes quotidiennes puisque seules les modifications sont sauvegardées.
- La technique de déduplication va éviter le stockage multiple de fichiers identiques (plus précisément de blocs de données) d'une sauvegarde à l'autre
- La technique de chiffrement est adaptée aux sauvegardes vers des destinations qui ne sont pas totalement fiables. Ainsi une sauvegarde sur disque amovible pourra rester à l'abris des regards indiscrets.
Plakar permet aussi de réaliser :
- Une compression des données sauvegardées pour gagner de la place
- Des sauvegardes distantes avec le support de dépôts distants.
Pour accéder aux sauvegardes, on devra disposer d'un système ayant plakar d'installé.
L'outil ne sauvegarde pas en effet en mode fichier comme un bon vieux copier coller, ou un rsync mais il propose des fonctions intéressantes, ce qui peut répondre à votre besoin.
Aucune base de données n'est nécessaire, les métadonnées sont stockées dans le dépôt de sauvegarde lui même.
Installation
Le produit étant tout récent, il n'est pas encore incorporé aux distributions Linux.
On pourra l'installer depuis les instructions officielles (nécessite 1Go) :
go install github.com/PlakarKorp/plakar@latest
Depuis la section releases de Github où des .DEB et .RPM sont fournis à partir de la version 1.0.3 : https://github.com/PlakarKorp/plakar/releases
Ajouter au fichier .bashrc
# Go bin des installations
export PATH="$HOME/go/bin:$PATH"
Rafraîchir
source .bashrc
Utilisation
Dans l'exemple de ce tutoriel, j'utilise un point de montage local /mnt/sharenfs/sav sur lequel le disque de sauvegarde est monté automatiquement au branchement
A noter que le dossier de destination de sauvegarde doit être complètement vierge. Si on utilise un disque dédié, formaté en ext4 par exemple, le dossier lost+found posera problème.
Créez simplement un dossier sur votre disque.
mkdir /mnt/sharenfs/sav/sav_plakar
Toutes les commandes auront une syntaxe telle que :
plakar at CHEMIN_DU_DEPOT action options
Initialiser le dépôt plakar
Avant de lancer notre première sauvegarde, il faut créer un repository.
Cela permet de créer dans la destination directement les métadonnées qui vont bien.
Pour créer le dépôt :
plakar at /mnt/sharenfs/sav create
la passphrase sera demandée 2 fois :
repository passphrase:
repository passphrase (confirm):
C'est cette passphrase qui vous permettra de déchiffrer le contenu. Ne pas l'oublier !
Chaque action (création de dépôt, backup, list, restauration ...) vous redemandra cette passphrase.
Vous pouvez vous affranchir de la saisie de la passphrase en définissant la variable d'environnement PLAKAR_PASSPHRASE :
export PLAKAR_PASSPHRASE="A1Z2E3R4t(y-uèi_"
Plusieurs options sont possibles :
-no-compression : Désactiver la compression
-weak-passphrase : Autosier une passphrase avec une faible complexité
-no-encryption : Pas de chiffrement
Exemple sans chiffrement (non recommandé quand même...) :
plakar at /mnt/sharenfs/sav create -no-encryption
A propos de l'agent
Plakar va fonctionner avec un agent. Il est nécessaire que cet agent soit lancé pour effectuer les actions autres que la création.
Lancer l'agent avec :
plakar agent
Une confirmation indique que l'agent est lancé :
agent started with pid=38458
Créer une sauvegarde
Pour créer notre sauvegarde, on va utiliser la sous commande create :
plakar at /mnt/sharenfs/sav/sav_plakar backup /media/DATA/Documents-Perso
Durant le backup, chaque fichier traité est affiché à l'écran avec le statut de l'opération :
0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier4.txt
0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier3.txt
0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier2.txt
0511f97b: OK ✓ /media/DATA/Documents-Perso/fichier1.txt
0511f97b: OK ✓ /media/DATA/Documents-Perso
0511f97b: OK ✓ /media/DATA
0511f97b: OK ✓ /media
0511f97b: OK ✓ /
Une fois terminé, on a des stats :
info: backup: created unsigned snapshot 0511f97b of size 478 GB in 1h26m19.400130115s (wrote 450 GB)
Si je relance un deuxième backup, voyez que la taille est similaire, mais peu de données ont été écrites car peu de changements :
info: backup: created unsigned snapshot 7dbf34ba of size 478 GB in 3m2.743951499s (wrote 11 MB)
Lister les backups
Pour visualiser les backups sur un repository, on utilisera la sous commande ls :
plakar at /mnt/sharenfs/sav/sav_plakar ls
Qui produit ceci :
2025-08-02T18:18:45Z 7dbf34ba 478 GB 3m3s /media/DATA/Documents-Perso
2025-08-02T16:47:16Z 0511f97b 478 GB 1h26m19s /media/DATA/Documents-Perso
On retrouvera la date du backup, l'ID du backup, la taille, le temps de backup, le dossier backupé.
Si on listez un repository chiffré, la passphrase nous sera demandée.
Lister le contenu d'un backup
Pour visualiser le contenu d'un backup particulier sur un repository, on utilisera la sous commande ls également mais en spécifiant l'ID du backup :
plakar at /mnt/sharenfs/sav/sav_plakar ls 7dbf34ba
Ce qui sort une liste dont voici un extrait (avec les permissions à la ls -l ) :
2016-06-15T16:54:29Z -rw-r--r-- adrien adrien 355 kB Loi n° 78-17 du 6 janvier 1978.pdf
2019-10-25T12:27:37Z -rw-r--r-- adrien adrien 916 kB 2019.10.25_dp_trotinettes.pdf
2024-12-07T09:16:42Z drwxr-xr-x adrien adrien 4.1 kB AA_AutoEntreprise
2025-07-29T17:38:09Z drwxr-xr-x adrien adrien 4.1 kB AA_Important
2025-05-24T15:55:45Z drwxr-xr-x adrien adrien 4.1 kB AA_Linux_Config
Si on listez un backup d'un repository chiffré, la passphrase nous sera demandée.
Rechercher un fichier dans un backup
Pour parcourir un backup et partir à la recherched'un fichier, on utilisera la sous commande locate :
plakar at /mnt/sharenfs/sav/sav_plakar locate "Demande CNIL.odt"
Ce qui donne :
0511f97b:/media/DATA/Documents-Perso/Docs/Demande CNIL.odt
7dbf34ba:/media/DATA/Documents-Perso/Docs/Demande CNIL.odt
On a l'ID du snapshot et le nom du fichier.
Il existe plus d'options de recherches, avec des critères :
-latest : Applique la recherche au dernier snapshot
-before 1w : Applique les recherches aux snapshots de plus d'une semaine
-since 2025-07-31 : Applique les recherches aux snapshots après le 31 juillet 2025 (autre exemple de date)
Informations sur un backup
Si on désire des informations globales sur un backup, c'est la sous commande info :
plakar at /mnt/sharenfs/sav/sav_plakar info 0511f97b
Ce qui produit ceci :
Version: 1.0.0
Timestamp: 2025-08-02 18:39:02.818776425 +0200 CEST
RepositoryID: f95fe7c6-631d-4e1f-be39-2edc9ba37db0
Packfile:
- MaxSize: 21 MB (20971520 bytes)
Chunking:
- Algorithm: FASTCDC
- MinSize: 66 kB (65536 bytes)
- NormalSize: 1.0 MB (1048576 bytes)
- MaxSize: 4.2 MB (4194304 bytes)
Hashing:
- Algorithm: BLAKE3
- Bits: 256
Compression:
- Algorithm: LZ4
- Level: 131072
Snapshots: 2
Storage size: 475 GB (475179610793 bytes)
Logical size: 957 GB (956744481774 bytes)
Restaurer des éléments
Si on fait une sauvegarde, c'est pour vous sauver la vie le jour où vous avez besoin de récupérer un ou des fichiers.
La sous commande qui nous sera utile sera restore avec l'IS du snapshot à restaurer :
plakar at /mnt/sharenfs/sav/sav_plakar restore 7dbf34ba
Cela restaurera TOUT le backup dans un dossier plakar-dateactuelle (par exemple plakar-2025-08-02T20:41:18+02:00) dans le dossier courant.
On pourra spécifier un dossier spécifique de restauration avec l'option -to :
plakar at /mnt/sharenfs/sav/sav_plakar restore -to ~/tmp/ 7dbf34ba
Dans cet exemple, aucun dossier plakar-dateactuelle ne sera créé, c'est restauré tel quel !
Si un fichier existe déjà dans la localisation, il sera alors remplacé par celui du fichier restauré !
Evidemment on pourra récupérer qu'un dossier ou un fichier en spécifiant leur nom :
plakar at /mnt/sharenfs/sav/sav_plakar restore -to ~/tmp/ 7dbf34ba:/media/DATA/Documents-Perso/Docs/loi\ anti\ pub.doc
Ce qui donne :
info: 7dbf34ba: OK ✓ /media/DATA/Documents-Perso/Docs/loi anti pub.doc
info: restore: restoration of 7dbf34ba:/media/DATA/Documents-Perso/Docs/loi anti pub.doc at /home/adrien/tmp/plakar/ completed successfully
Monter une sauvegarde
Plutôt que de restaurer avec les commandes comme vu précédemment, on pourra monter une sauvegarde sur un point de montage.
Cela nous permettra de parcourir la sauvegarde comme un dossier classique, et de restaurer les éléments par copier coller en ligne de commande ou graphique.
Le montage se fait dans l'espace utilisateur. Par conséquent, nul besoin des droits root pour faire les opérations de montage et démontage.
Exemple :
plakar at /mnt/sharenfs/sav/sav_plakar mount ~/tmp/plakar/
On notera que les données sont montées en lecture seule comme l'indique la commande mount :
info: mounted repository fs:///mnt/sharenfs/sav/sav_plakar at /home/adrien/tmp/plakar/
Le terminal ne rend pas la main, c'est normal.
Les données de ma sauvegarde sont accessibles en mode fichier, on peut donc les lister, les copier/coller, etc. :
Pour démonter, ne soyez plus dans le dossier, et un simple Ctrl+C libèrera le montage.
Supprimer des backup
Si je relance un listing j'ai ici 4 backups pour la démo :
2025-08-02T19:10:22Z 300c97f3 478 GB 25s /media/DATA/Documents-Perso
2025-08-02T19:08:44Z 09e90b07 478 GB 29s /media/DATA/Documents-Perso
2025-08-02T18:18:45Z 7dbf34ba 478 GB 3m3s /media/DATA/Documents-Perso
2025-08-02T16:47:16Z 0511f97b 478 GB 1h26m19s /media/DATA/Documents-Perso
Si je veux supprimer un backup, on va utiliser la sous commande rm :
plakar at /mnt/sharenfs/sav/sav_plakar rm 09e90b07
On a une info du backup supprimé :
info: rm: removal of 09e90b07 completed successfully
Et si je reliste mon backup a disparu :
2025-08-02T19:10:22Z 300c97f3 478 GB 25s /media/DATA/Documents-Perso
2025-08-02T18:18:45Z 7dbf34ba 478 GB 3m3s /media/DATA/Documents-Perso
2025-08-02T16:47:16Z 0511f97b 478 GB 1h26m19s /media/DATA/Documents-Perso
Evidemment, les 2 autres sauvegardes sont bien intactes, plakar gère tout comme un grand.
Supprimer des archives ne libère pas réellement de la place. Pour cela on pourra compacter le dépôt avec la sous commande maintenance :
plakar at /mnt/sharenfs/sav/sav_plakar maintenance
Les données ne sont pas supprimées plus tard, une période de grace est de 30 jours au 2 août 2025.
Epurer des backups
Parfois on peut avoir besoin de garder que les X derniers backups. Cela peut être utile dans le cas d'une automatisation via script.
Pour cela on va utiliser la sous commande rm avec des options supplémentaires.
Exemple ici pour supprimer les backups plus vieux d'une date :
plakar at /mnt/sharenfs/sav/sav_plakar rm -before 2025-07-01
L'option -before prend en charge une date au format YYYY-MM-DD et prochainement 365d pour 365 jours
A propos des dépôts distants
On va pouvoir gérer plusieurs type de dépôts. On a vu que des dépôts locaux dans ce tutoriel.
Dépôts SFTP
Il est possible d'utiliser un dépôts à travers un SFTP (FTP sur SSH).
Il est nécessaire en prérequis d'avoir un paire de clés SSH pour effectuer l'authentification.
Note : La paire de clés ne doit pas disposer de passphrase ou être déjà stockée dans le ssh-agent !
On préfixe juste le chemin du dépôt avec le protocole sftp:// , l'utilisateur et l'hôte distant à utiliser :
plakar at sftp://adrien@192.168.21.200/mnt/sharenfs/sav/remote/ backup /media/DATA/Documents-Perso/
Interface graphique
Plakar dispose d'une interface graphique. Elle se lance dans un module Web.
Avec la version 1.0.2, celle-ci est rudimentaire mais elle va s'améliorer.
Pour lancer l'interface graphique, on utilisera la sous commande ui :
plakar at /mnt/sharenfs/sav/sav_plakar ui
Le navigateur s'ouvre et il est possible de parcourir les backups, lancer des opérations de restauration, etc...
Quelques autres options utiles
Vérifier la consistance du dépôt
Pour vériier la cohérence du dépôt, on pourra utiliser la sous commande check et rechercher d'éventuels problèmes de consistance :
plakar at /mnt/sharenfs/sav/sav_plakar check
Compacter les données
A force de générer des sauvegardes, et d'en supprimer, on peut tenter de recompacter l'ensemble des données pour libérer un peu d'espace et réorganiser tout ça. On pourra le faire avec la sous commande maintenance :
plakar at /mnt/sharenfs/sav/sav_plakar maintenance
Au 2 août 2025, confirmé par l'équipe de Plakar, une période de grace de 30 jours est présente. Cette durée devrait être réduite par la suite (ou personnalisable)
Synchroniser un dépôt
Si on a besoin de faire une synchronisation d'un dépôt sur un autre (un local vers un distant, ou de temps en temps sur un disque USB), on a la sous commande sync :
plakar at /mnt/sharenfs/sav/sav_plakar/ sync to sftp://adrien@192.168.21.200/mnt/sharenfs/sav/remote/
Stopper l'agent
Si après le backup on veut couper l'agent, on pourra le faire avec :
plakar agent stop