plakar : Solution de backup sous Linux
Table des matières
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.
Nous allons voir comment utiliser et paramétrer tout ça.
Juste avant, quelques détails techniques pour les geeks !
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.
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) :
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
Fedora depuis mon dépôt perso :
Dans l'exemple de ce tutoriel, j'utilise un point de montage local /run/media/adrien/backups sur lequel le disque de sauvegarde est monté automatiquement au branchement
Toutes les commandes auront une syntaxe telle que :
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 :
la passphrase sera demandée 2 fois :
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 :
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 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 :
Une confirmation indique que l'agent est lancé :
Pour créer notre sauvegarde, on va utiliser la sous commande create :
Durant le backup, chaque fichier traité est affiché à l'écran avec le statut de l'opération :
Une fois terminé, on a des stats :
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 :
Pour visualiser les backups sur un repository, on utilisera la sous commande ls :
Qui produit ceci :
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.
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 :
Ce qui sort une liste dont voici un extrait (avec les permissions à la ls -l ) :
Si on listez un backup d'un repository chiffré, la passphrase nous sera demandée.
Pour parcourir un backup et partir à la recherched'un fichier, on utilisera la sous commande locate :
Ce qui donne :
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)
Si on désire des informations globales sur un backup, c'est la sous commande info :
Ce qui produit ceci :
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 :
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 :
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 :
Ce qui donne :
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.
Exemple :
On notera que les données sont montées en lecture seule comme l'indique la commande mount :
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.
Si je relance un listing j'ai ici 4 backups pour la démo :
Si je veux supprimer un backup, on va utiliser la sous commande rm :
On a une info du backup supprimé :
Et si je reliste mon backup a disparu :
Evidemment, les 2 autres sauvegardes sont bien intactes, plakar gère tout comme un grand.
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 :
L'option -before prend en charge une date au format YYYY-MM-DD et prochainement 365d pour 365 jours
On va pouvoir gérer plusieurs type de dépôts. On a vu que des dépôts locaux dans ce tutoriel.
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 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 :
Le navigateur s'ouvre et il est possible de parcourir les backups, lancer des opérations de restauration, etc...
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 :
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 :
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 :
Si après le backup on veut couper l'agent, on pourra le faire avec :
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.
Nous allons voir comment utiliser et paramétrer tout ça.
Détails et fonctionalités techniques
Juste avant, quelques détails techniques pour les geeks !
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) :
Code BASH :
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
Fedora depuis mon dépôt perso :
Code BASH :
dnf copr enable adriend/fedora-apps
Code BASH :
dnf install plakar
Utilisation
Dans l'exemple de ce tutoriel, j'utilise un point de montage local /run/media/adrien/backups sur lequel le disque de sauvegarde est monté automatiquement au branchement
Toutes les commandes auront une syntaxe telle que :
Code BASH :
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 :
Code BASH :
plakar at /run/media/adrien/backups create
la passphrase sera demandée 2 fois :
Code TEXT :
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 :
Code BASH :
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...) :
Code BASH :
plakar at /run/media/adrien/backups 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 :
Code BASH :
plakar agent
Une confirmation indique que l'agent est lancé :
Code :
agent started with pid=38458
Créer une sauvegarde
Pour créer notre sauvegarde, on va utiliser la sous commande create :
Code BASH :
plakar at /run/media/adrien/backups/plakar backup /media/DATA/Documents-Perso
Durant le backup, chaque fichier traité est affiché à l'écran avec le statut de l'opération :
Code TEXT :
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 :
Code TEXT :
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 :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar ls
Qui produit ceci :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar ls 7dbf34ba
Ce qui sort une liste dont voici un extrait (avec les permissions à la ls -l ) :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar locate "Demande CNIL.odt"
Ce qui donne :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar info 0511f97b
Ce qui produit ceci :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/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 :
Code BASH :
plakar at /run/media/adrien/backups/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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar restore -to ~/tmp/ 7dbf34ba:/media/DATA/Documents-Perso/Docs/loi\ anti\ pub.doc
Ce qui donne :
Code TEXT :
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.
Exemple :
Code BASH :
plakar at /run/media/adrien/backups/plakar mount ~/tmp/plakar/
On notera que les données sont montées en lecture seule comme l'indique la commande mount :
Code TEXT :
info: mounted repository fs:///run/media/adrien/backups/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 :
Code TEXT :
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar rm 09e90b07
On a une info du backup supprimé :
Code TEXT :
info: rm: removal of 09e90b07 completed successfully
Et si je reliste mon backup a disparu :
Code TEXT :
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.
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 :
Code BASH :
plakar at /run/media/adrien/backups/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 :
Code BASH :
plakar at sftp://adrien@192.168.21.200/run/media/adrien/backups/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 :
Code BASH :
plakar at /run/media/adrien/backups/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 :
Code BASH :
plakar at /run/media/adrien/backups/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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar maintenance
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 :
Code BASH :
plakar at /run/media/adrien/backups/plakar/ sync to sftp://adrien@192.168.21.200/run/media/adrien/backups/remote/
Stopper l'agent
Si après le backup on veut couper l'agent, on pourra le faire avec :
Code BASH :
plakar agent stop