Simplifiez les sauvegardes Restic avec le dossier : un tutoriel étape par étape
Dans un précédent article, nous avons appris comment créer des sauvegardes sécurisées et efficaces avec Restic sous Linux. Restic fonctionne sur plusieurs plates-formes, mais est livré sans interface graphique. Dans cet article, nous apprenons à installer et à utiliser Backrest, une interface Web gratuite et open source, conviviale pour Restic.
Dans ce tutoriel, vous allez apprendre :
- Comment installer Backrest sur Linux
- Comment configurer le dossier
- Comment utiliser Backrest pour créer et gérer des sauvegardes Restic
Catégorie | Exigences, conventions ou version du logiciel utilisé |
---|---|
Système | Indépendant de la distribution |
Logiciel | Dossier |
Autre | Privilèges root en cas d’installation à l’échelle du système |
Conventions | # – nécessite que les commandes linux données soient exécutées avec les privilèges root, soit directement en tant qu’utilisateur root, soit en utilisant la commande sudo $– nécessite que les commandes linux données soient exécutées en tant qu’utilisateur régulier non privilégié |
Installation du dossier
Comme Restic lui-même, Backrest est un logiciel gratuit et open source (le code source est hébergé sur GitHub). Il est écrit en Go et publié sous la licence GPLv3. La façon la plus simple d’installer Backrest est de télécharger le binaire précompilé pour notre système d’exploitation et notre architecture préférés, à partir de la page des versions du dépôt.
Au moment de la rédaction de cet article, la dernière version disponible de Backrest est la 1.7.1
. Si vous lisez cet article, vous voudrez probablement installer la version Linux, qui est disponible pour les architectures arm64, armv6 et x86_64. Pour les besoins de cet article, nous utiliserons ce dernier. Le binaire du dosseret est distribué à l’intérieur d’une archive tar, que nous pouvons télécharger et extraire avec une seule commande :
curl -L https://github.com/garethgeorge/backrest/releases/download/v1.7.1/backrest_Linux_x86_64.tar.gz | tar -xz
Après avoir lancé la commande ci-dessus, nous devrions trouver le contenu de l’archive du dossier dans notre répertoire de travail actuel :
├── backrest
├── CHANGELOG.md
├── install.sh
├── LICENSE
├── README.md
└── uninstall.sh
Le fichier du dossier
est le binaire précompilé. Il inclut une version intégrée de Restic, nous n’avons donc pas besoin de l’installer séparément (bien que nous puissions passer le chemin d’un binaire Restic existant en argument de l’option --restic-cmd
). Nous pouvons exécuter le binaire Backrest directement, ou nous pouvons utiliser le script install.sh
pour effectuer une installation à l’échelle du système. Le script copie le binaire dans le répertoire /usr/local/bin
et crée un service systemd à l’adresse /etc/systemd/system/backrest.service
; il démarre et active ensuite le service, de sorte qu’il se lance automatiquement au démarrage.
Configuration du dossier
La première fois que nous accédons à l’interface Web de Backrest, à http://localhost:9898
, nous sommes invités à entrer un ID d’instance unique et à choisir de désactiver l’authentification ou d’ajouter un nom d’utilisateur et un mot de passe pour restreindre l’accès à l’interface elle-même. Nous pouvons cliquer sur le bouton « Soumettre », pour confirmer nos choix :
Création d’un référentiel
Après la configuration initiale, nous pouvons procéder à la création d’un référentiel Restic (ou d’utiliser un référentiel déjà existant), et d’un plan de sauvegarde. Pour créer un dépôt, nous cliquons sur le lien « Ajouter un dépôt », dans le menu vertical de gauche, et fournissons, au minimum : le nom du dépôt, son URI et le mot de passe de cryptage :
Comme vous pouvez le voir dans la capture d’écran ci-dessus, nous avons la possibilité de définir certaines variables d’environnement, parmi celles prises en charge par Restic (par exemple, la variable RESTIC_COMPRESSION
peut être utilisée pour spécifier le mode de compression que Restic doit utiliser.). Nous pouvons également spécifier des indicateurs supplémentaires qui doivent être passés à la ligne de commande Restic lors de l’exécution d’une sauvegarde dans ce dépôt, configurer une politique d’élagage et une politique de vérification de l’intégrité du dépôt.
Enfin, nous pouvons sélectionner un crochet : les crochets sont des actions spécifiques à effectuer dans des conditions spécifiques. Nous pouvons choisir d’exécuter une commande shell, par exemple, ou de contacter un point de terminaison comme healthchecks.io, ce qui nous aidera à surveiller nos sauvegardes et leur état. Pour sauvegarder notre dépôt, encore une fois, nous cliquons sur le bouton « Soumettre ».
Création d’un plan de sauvegarde
Nous pouvons maintenant procéder à la création d’un plan de sauvegarde en cliquant sur le lien « Ajouter un plan » dans le menu vertical de l’interface. Pour créer un plan, tout ce que nous avons à faire est de lui donner un nom significatif (par exemple local-backup), de choisir un dépôt cible dans le menu déroulant et d’entrer les chemins des fichiers que nous voulons inclure dans la sauvegarde :
L’interface nous permet également de fournir une liste de modèles d’exclusion sensibles à la casse et insensibles à la casse. Nous pouvons définir un calendrier de sauvegarde (par défaut d’effectuer une sauvegarde au début de chaque heure), et une politique de rétention basée sur le nombre de sauvegardes existantes, ou sur une période de temps. Une politique de rétention est utile pour libérer de l’espace dans le référentiel cible en supprimant les anciennes sauvegardes. Comme pour les dépôts, on peut associer un ou plusieurs hooks à un plan de sauvegarde.
Une fois notre premier plan de sauvegarde défini, nous pouvons cliquer sur « Soumettre », pour enregistrer sa configuration. Le nom du plan de sauvegarde apparaîtra dans le menu vertical de l’interface Backrest WebUI. Une fois que nous aurons cliqué dessus, nous pourrons vérifier la prochaine date à laquelle la sauvegarde sera exécutée (selon le calendrier que nous avons défini), et exécuter une sauvegarde ou une commande Restic immédiatement, en cliquant sur les boutons « Sauvegarder maintenant » et « Déverrouiller le dépôt », respectivement.
Une fois qu’une sauvegarde est terminée, elle apparaîtra dans la liste, associée à une icône verte, si elle a été exécutée avec succès :
En cliquant sur l’entrée de sauvegarde, nous pouvons accéder à des détails tels que l’ID de l’instantané et le nombre de fichiers et d’octets ajoutés. Nous pouvons également parcourir le contenu de l’instantané et télécharger des fichiers individuels :
De même, en cliquant sur l’entrée du référentiel liée à un dépôt, nous pouvons effectuer des actions immédiates telles que l’élagage et la vérification.
Fichier de configuration du dossier
Backrest crée automatiquement un fichier de configuration qui reflète les choix que nous faisons dans l’interface WebUI. Nous pouvons l’utiliser pour reproduire facilement notre configuration sur de nouvelles installations. Le fichier de configuration est au format JSON et, par défaut, il est créé dans le répertoire ~/.config/backrest
de l’utilisateur sous lequel nous lançons le binaire du backrest. Nous pouvons cependant passer le chemin d’accès à une configuration alternative, en tant qu’argument de l’option --config-file
. Voici le contenu du fichier de configuration correspondant à notre configuration actuelle :
{
"modno": 2,
"version": 4,
"instance": "my-backrest",
"repos": [
{
"id": "repo1",
"uri": "/mnt/restic-repo",
"guid": "ab83d9257d5ae451173ea4b6a305645aea26e69d3046f98eef7e0cc87e774005",
"password": "supersecretpassword",
"prunePolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"maxUnusedPercent": 10
},
"checkPolicy": {
"schedule": {
"cron": "0 0 1 * *",
"clock": "CLOCK_LAST_RUN_TIME"
},
"readDataSubsetPercent": 0
},
"commandPrefix": {}
}
],
"plans": [
{
"id": "local-backup",
"repo": "repo1",
"paths": [
"/etc",
"/mnt/data"
],
"schedule": {
"cron": "0 * * * *",
"clock": "CLOCK_LOCAL"
},
"retention": {
"policyTimeBucketed": {
"hourly": 24,
"daily": 30,
"monthly": 12
}
}
}
],
"auth": {
"disabled": true
}
}
Conclusions
Dans ce tutoriel, nous avons appris à télécharger, installer et configurer Backrest, un wrapper autour de Restic, un excellent outil multiplateforme que nous pouvons utiliser pour créer des sauvegardes cryptées et efficaces. Backrest simplifie l’utilisation de Restic en fournissant une interface utilisateur Web conviviale qui nous permet de créer des dépôts, des plans de sauvegarde et de gérer les sauvegardes existantes.