Sauvegardes hors site économiques en ajout uniquement avec restic et Wasabi sur Debian 10
Ce guide montre comment installer et configurer le logiciel de sauvegarde gratuit restic sur Debian Buster pour stocker des sauvegardes hors site chez la société de stockage en nuage Wasabi. Le principal avantage de ce guide est qu'il fournit des sauvegardes obligatoires en ajout uniquement. Cela signifie qu'une fois qu'une sauvegarde a été effectuée, elle est sécurisée dans le sens où elle ne peut pas être écrasée ou effacée du système à partir duquel la sauvegarde a été effectuée. Cela signifie que les archives de sauvegarde sont protégées à la fois contre les catastrophes naturelles sur le serveur d'origine (par exemple, un incendie) et contre les accidents d'origine humaine (comme une erreur à l'invite du shell racine). Les sauvegardes sont également protégées dans le sens où elles sont stockées cryptées, ce qui signifie que seule la personne ou le système qui possède le mot de passe de la sauvegarde peut le lire.
Veuillez noter que ce guide est fourni tel quel sans aucune garantie. Le logiciel de sauvegarde restic n'a pas encore atteint la version 1.0, et vous ne devez donc jamais l'utiliser comme seule solution de sauvegarde. Pour être protégé contre d'éventuels incidents, assurez-vous de faire une sauvegarde du système que vous avez l'intention d'utiliser dans le cadre de ce guide avant de commencer. Assurez-vous également de tester que la sauvegarde que vous avez effectuée fonctionne réellement via une restauration test.
Le guide est basé et testé sur Debian Buster (Debian 10). Les anciennes versions de Debian ne sont pas couvertes par ce guide, mais si vous souhaitez expérimenter par vous-même, il devrait être possible d'ajouter le référentiel de packages Debian Buster apt pour installer les versions récentes de restic, tinyproxy et rclone également sur Debian Jessie ou Stretch.
Ce guide est structuré en cinq parties :
Dans la première partie, nous préparerons un compte sur le stockage Wasabi cloud où nous stockerons plus tard les sauvegardes. Wasabi propose un essai gratuit de 30 jours à des fins de test.
Dans un second temps, nous allons installer et configurer rclone, qui d'une part donne accès au stockage chez Wasabi, et d'autre part offre une interface d'accès pour restic vers le stockage.
Troisièmement, tinyproxy - un simple serveur proxy - sera préparé, car il est nécessaire en tant qu'intermédiaire pour que le stockage fonctionne de manière ajoutée uniquement avec restic.
Quatrièmement, nous allons mettre en place le programme de sauvegarde restic.
Dans la toute dernière étape, nous allons tester à la fois une sauvegarde et une restauration partielle.
1 Préparez un compte sur le stockage en nuage Wasabi
1.1 Créer un compte Wasabi
Wasabi a un essai gratuit de 30 jours qui peut être trouvé ici :
Après avoir rempli le formulaire sur la page Web ci-dessus, vous recevrez vos données d'accès à l'interface Web de Wasabi. Utilisez vos données d'accès pour vous connecter sur cette page :
1.2 Créer un bucket pour les données et un autre pour le verrouillage
Nous allons maintenant créer deux soi-disant \Buckets\. Un bucket est un conteneur de stockage dans lequel vous stockez des données.
Créez le premier compartiment en cliquant sur l'icône rouge nommée Créer un compartiment que vous trouverez en haut à droite de la page Web. Le premier compartiment sera l'endroit où toutes les données de sauvegarde seront stockées, que nous appellerons plus tard le DATABUCKET. Vous savez que vous devez choisir un nom de compartiment. Par exemple, vous pouvez utiliser le format suivant comme modèle pour le nom du bucket :
yourdomain.com-restic-data
Veuillez remplacer votredomaine.com dans le nom du modèle ci-dessus par le nom de domaine de l'ordinateur que vous souhaitez sauvegarder. Après avoir défini le nom DATABUCKET, veuillez le noter. Vous en aurez besoin plus tard pour remplacer le texte d'espace réservé DATABUCKET dans les modèles qui suivront plus loin dans ce guide.
Choisissez ensuite la région dans laquelle vous souhaitez placer le compartiment. Pour des performances optimales, il est bon de choisir la région/le continent du serveur que vous souhaitez sauvegarder. Ainsi, si votre serveur est en Europe, vous pouvez choisir :
eu-central-1
Appuyez ensuite sur Suivant.
Sur la page suivante, deux choix sont affichés : pour Bucket Versioning et Bucket Logging respectivement. Vous pouvez laisser ces choix conserver leurs valeurs par défaut, c'est-à-dire Suspendre la gestion des versions et Suspendre la journalisation. Cliquez ensuite sur Suivant, puis sur Créer un compartiment.
Maintenant, répétez la même procédure et créez un autre compartiment. Ce deuxième bucket ne sera utilisé que pour stocker les informations de verrouillage de restic. Nous l'appellerons plus tard le LOCKBUCKET. Cliquez à nouveau sur le bouton Create Bucket, et choisissez maintenant un nom pour ce deuxième bucket, par exemple en utilisant ce format :
yourdomain.com-restic-locks
Veuillez remplacer votredomaine.com dans le modèle ci-dessus par le nom de domaine de l'ordinateur à sauvegarder. Après avoir défini le nom LOCKBUCKET, veuillez l'écrire. Vous en aurez besoin plus tard pour remplacer LOCKBUCKET dans les modèles qui suivront plus loin dans ce guide.
(Restic utilise des verrous pour s'assurer qu'un seul client à la fois effectue des sauvegardes ou des restaurations. La raison pour laquelle nous avons besoin d'un compartiment séparé pour les informations de verrouillage est que Restic doit pouvoir à la fois ajouter et supprimer des verrous, et donc nous avons besoin d'un compartiment qui autorise les suppressions.)
1.3 Créer un utilisateur
Cliquez sur l'icône IAM dans la rangée d'icônes la plus haute. Vous êtes maintenant entré dans la gestion des identités et des accès. Cliquez sur Utilisateurs dans la colonne de gauche. Cliquez ensuite sur l'icône rouge nommée + Créer un utilisateur et choisissez un nom d'utilisateur logique, tel que le nom de domaine du serveur que vous souhaitez sauvegarder. Par exemple, le nom d'utilisateur peut être system1.example.com. Après avoir défini le nom d'utilisateur, veuillez l'écrire afin de pouvoir remplacer USERNAME dans les modèles qui suivront plus loin dans ce guide par votre valeur.
Dans la section Accès de la boîte de dialogue, cochez la case nommée Programmatique (créer une clé API). Cliquez ensuite sur Suivant. Créez un groupe pour l'utilisateur. Si tous vos serveurs étaient situés sous un domaine principal, ce domaine principal pourrait être un nom de groupe approprié. Cliquez maintenant sur Suivant. Sur la page suivante (création de la politique), cliquez simplement sur Suivant. Enfin, cliquez sur le bouton Créer un utilisateur.
À droite du texte Clé secrète vers le bas de la fenêtre de dialogue, vous trouverez un petit lien nommé Afficher, sur lequel vous devez cliquer. Enregistrez à la fois la ACCESS KEY et la SECRET KEY dans un fichier texte. Vous aurez besoin de ces informations plus tard lorsque nous configurons l'accès à Wasabi à partir de l'ordinateur client que vous sauvegarderez.
1.4 Créer une politique
Pour que l'utilisateur que nous avons créé soit autorisé à accéder aux deux compartiments, nous devons créer une stratégie d'accès.
Cliquez sur Politiques dans la colonne de gauche de l'interface Web Wasabi. Cliquez ensuite sur le bouton rouge Créer une politique. Vous pouvez choisir le nom de domaine de l'ordinateur que vous souhaitez sauvegarder pour le nom de la politique, par exemple system1.example.com . Écrivez le nom de la stratégie dans le champ supérieur gauche.
Vous trouverez ci-dessous un modèle que vous utiliserez comme base pour la politique actuelle. Copiez le modèle dans un éditeur de texte, puis remplacez les deux occurrences de DATABUCKET dans le fichier texte par le nom que vous avez donné au premier compartiment, et les deux occurrences de <LOCKBUCKET avec le nom que vous avez choisi pour le deuxième compartiment.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "s3:ListAllMyBuckets",
"Resource": "arn:aws:s3:::*"
},
{
"Effect": "Allow",
"Action": "s3:*",
"Resource": [
"arn:aws:s3:::DATABUCKET",
"arn:aws:s3:::DATABUCKET/*",
"arn:aws:s3:::LOCKBUCKET",
"arn:aws:s3:::LOCKBUCKET/*"
]
}
]
}
Copiez la politique que vous avez créée à partir de votre éditeur de texte et collez-la dans le grand champ principal de la fenêtre de dialogue de la page Web Wasabi. Cliquez ensuite sur Enregistrer.
1.5 Appliquer la politique
La stratégie doit maintenant être appliquée à l'utilisateur. Cliquez sur Utilisateurs à gauche, puis cliquez sur l'utilisateur que vous avez créé. Cliquez maintenant sur l'onglet Autorisations (à droite dans le menu horizontal gris). Commencez ensuite à saisir les premières lettres du nom de la stratégie que vous avez choisi lors de la création de la stratégie dans le champ de texte sous Commencez à taper pour rechercher des stratégies pour l'utilisateur. Cliquez sur le nom de votre police. Vous avez maintenant appliqué la stratégie à l'utilisateur.
1.6 Définir le compartiment de données pour qu'il soit immuable (ajout uniquement)
Pour des raisons de sécurité, nous voulons qu'il soit impossible d'écraser les sauvegardes déjà effectuées à partir du client (l'ordinateur à partir duquel les sauvegardes sont effectuées). Pour ce faire, nous utilisons la fonction immuable Wasabi. Dans l'interface Web de Wasabi, cliquez sur Stockage (dans la barre supérieure). Cliquez ensuite sur le DATABUCKET (probablement celui qui se termine par restic-data). Cliquez sur la roue dentée blanche pour Paramètres (vers le coin supérieur droit). Cliquez ensuite sur Conformité dans la barre supérieure blanche. Cliquez sur le curseur à droite de Mode de conformité pour activer ce mode. Si vous le souhaitez, vous pouvez activer Supprimer après rétention mais vous devez vous assurer de mettre une grande valeur dans Temps de rétention, c'est le temps minimum que chaque fichier reste après le client essaie de le supprimer. Par exemple, mettez 100 ans ici. (Il semble que vous ne pouvez pas laisser ce champ vide pendant une durée de conservation infinie.) Cela signifie que les données sont sécurisées pendant 100 ans, période pendant laquelle elles ne peuvent être ni supprimées ni modifiées. Appuyez sur Enregistrer pour enregistrer vos paramètres.
1.7 Créer le dossier de verrouillage
Dans l'interface Web de Wasabi, cliquez sur Stockage (dans la barre supérieure). Cliquez ensuite sur le LOCKBUCKET (celui qui se termine par restic-locks).
Appuyez maintenant sur le bouton vert nommé Créer un dossier. Nommez le dossier locks afin qu'il puisse être utilisé ultérieurement pour les fichiers de verrouillage restic.
Nous avons maintenant terminé la configuration dans l'interface Web de Wasabi. Dans la section suivante, nous commencerons à travailler sur le terminal de l'ordinateur que nous voulons sauvegarder.
2 Installer et configurer rclone
2.1 Tout d'abord, faites une sauvegarde via votre système existant
Il est maintenant temps d'accéder à l'ordinateur à partir duquel les sauvegardes doivent être effectuées.
N'oubliez pas de faire une sauvegarde de cet ordinateur avec un système existant ! Vérifiez également que la sauvegarde fonctionne via une restauration test avant de continuer. Au cas où quelque chose ne fonctionnerait pas comme prévu, il est essentiel de pouvoir revenir à une étape de fonctionnement.
2.2 Installer rclone
Toutes les lignes ci-dessous doivent être saisies dans le terminal suivies de la touche Entrée.
Connectez-vous au terminal de l'ordinateur à partir duquel vous souhaitez effectuer des sauvegardes, par exemple via SSH. Lancez ensuite cette commande pour devenir root :
su -
suivi de Entrée et du mot de passe root. Un accès root est nécessaire, car nous installerons de nouveaux programmes à partir du référentiel Debian.
Installez maintenant rclone :
apt install rclone
2.3 Configurer rclone pour se connecter à Wasabi
Ensuite pour configurer rclone, tapez cette commande :
rclone config
Tapez ensuite :
n
Il est maintenant temps de choisir un nom pour la configuration. Veuillez noter cela. (point) n'est pas autorisé dans le nom, mais par contre - (tiret) est autorisé. Afin de nommer votre configuration rclone, utilisez ce modèle, mais remplacez d'abord votredomaine-com par votre propre nom de domaine, en remplaçant d'abord. (points) dans le nom de domaine avec - (traits d'union) :
wasabi-votredomaine-com-restic
Enregistrez le nom que vous donnez à la configuration rclone, car vous remplacerez plus tard l'espace réservé RCLONECONFIG par le nom.
Puis écrivez 4 pour les fournisseurs de stockage conformes à Amazon S3 et entrez
Puis imprimez 7 pour Wasabi Object Storage et entrez
Ensuite, imprimez 1 pour Entrez les informations d'identification AWS à l'étape suivante et entrez
Copiez la ACCESS KEY que vous avez enregistrée précédemment dans un fichier et collez-la, puis appuyez sur Entrée
Ensuite, copiez et collez la CLÉ SECRÈTE que vous avez également enregistrée dans le même fichier plus tôt, suivie de la touche Entrée
Imprimez la région que vous choisissez pour vos seaux. Vous pouvez trouver la région en cliquant sur Stockage dans la rangée supérieure de l'interface Web Wasabi. Par exemple, tapez cette région pour l'Europe, puis entrez :
eu-central-1
Pour Endpoint for S3 API, saisissez ceci si le compartiment se trouve dans la région de l'UE, suivi de la touche Entrée :
s3.eu-central-1.wasabisys.com
Si votre compartiment se trouve aux États-Unis, veuillez trouver le nom de votre point de terminaison dans ce document :
Laissez Contrainte d'emplacement vide et appuyez sur Entrée
Appuyez sur 1 pour Le propriétaire obtient le FULL_CONTROL, puis sur Entrée
Appuyez sur y pour Modifier la configuration avancée, puis sur Entrée
Appuyez sur Entrée pour la valeur par défaut de la taille du segment
Appuyez sur Entrée pour la valeur par défaut pour désactiver la somme de contrôle
Appuyez sur Entrée pour la valeur par défaut du jeton de session
Tapez 16 pour Télécharger la simultanéité, puis appuyez sur Entrée
Appuyez sur Entrée pour la valeur par défaut de force_path_style
Appuyez sur Entrée pour la valeur par défaut de v2_auth suivi d'Entrée
Appuyez sur y pour Oui c'est OK et Entrée
Appuyez sur q pour quitter la configuration.
La configuration de rclone est maintenant terminée.
2.4 Tester que rclone fonctionne avec Wasabi
Créez maintenant un fichier de test via cette commande :
test d'écho >> /tmp/test.txt
Transférez le fichier de test via la commande ci-dessous. Cependant, vous devez d'abord remplacer RCLONECONFIG par votre valeur, et également DATABUCKET par votre valeur pour ce paramètre. Tout est sur une seule ligne :
rclone -v sync /tmp/test.txt RCLONECONFIG:DATABUCKET/
Si tout fonctionne, vous devriez maintenant voir le fichier test.txt dans l'interface Web Wasabi pour le DATABUCKET. Veuillez noter que parfois cela peut prendre jusqu'à env. 1 minute jusqu'à ce que le fichier s'affiche. Testez également un transfert avec l'autre bucket, celui se terminant par restic-locks :
rclone -v sync /tmp/test.txt RCLONECONFIG:LOCKBUCKET/
Maintenant, vérifiez à nouveau l'interface Web Wasabi, pour le fichier texte qui devrait être dans le LOCKBUCKET.
2.5 Configurer rclone pour servir restic via systemd
Rclone a une fonction intégrée d'utilisation d'un espace de stockage en nuage (Wasabi dans notre cas) et le sert à restic d'une manière compatible. Cette façon d'exécuter rclone se fait via la commande rclone serve restic qui fonctionne comme un processus serveur. Nous aurons besoin de deux de ces processus serveur : un principal pour presque tout, et un second qui ne traite que les fichiers de verrouillage restic.
Tout d'abord, créez un utilisateur restic :
adduser restic
Copiez la configuration rclone de l'utilisateur root vers l'utilisateur restic :
su restic
mkdir -p /home/restic/.config/rclone
exit
cp -a /root/.config/rclone/rclone.conf /home/restic/.config/rclone/
chown restic.restic /home/restic/.config/rclone/rclone.conf
Créez un fichier de contrôle systemd, par exemple via l'éditeur nano :
nano /etc/systemd/system/restic-data.service
Le fichier doit contenir les données ci-dessous. Veuillez noter que, comme précédemment, vous devez modifier la valeur RCLONECONFIG ainsi que la valeur DATABUCKET selon vos paramètres.
[Unit]
Description=Rclone serve restic data on wasabi
After=network.target
[Service]
Type=simple
User=restic
Group=restic
ExecStart=/usr/bin/rclone serve restic RCLONECONFIG:DATABUCKET --addr=127.0.0.1:8001 --append-only --retries 10 --transfers 20 --s3-upload-concurrency 8 --s3-chunk-size 16M
Restart=always
RestartSec=5
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
Enregistrez le fichier. Le but est que rclone fournisse une interface restic vers le compartiment de stockage en nuage Wasabi. Le service systemd que nous venons de créer démarrera automatiquement au prochain démarrage, mais nous devons d'abord l'activer via ces commandes :
systemctl daemon-reload
systemctl enable restic-data
systemctl start restic-data
Ensuite, nous vérifions que le service a démarré :
systemctl status restic-data
Vous devriez maintenant voir Actif : actif (en cours d'exécution) si tout fonctionne correctement. Appuyez sur q pour quitter l'affichage d'état.
Nous avons maintenant installé le service restic rclone serve sur le port 8001 qui se connecte à un compartiment qui est en ajout uniquement et qui stockera les sauvegardes.
Ensuite, nous avons besoin d'un autre service sur le port 8002 pour le système de verrouillage restic, connecté au deuxième compartiment qui est en lecture + écriture. Par conséquent, nous allons répéter les étapes que nous venons de faire une fois de plus avec des modifications mineures.
Créez un fichier de contrôle systemd :
nano /etc/systemd/system/restic-locks.service
Le fichier doit contenir les données ci-dessous. La ligne qui commence par ExecStart= est une seule longue ligne divisée en trois lignes ci-dessous. Veuillez modifier la valeur RCLONECONFIG ainsi que la valeur LOCKBUCKET selon vos paramètres.
[Unit]
Description=Rclone serve restic locks on wasabi
After=network.target
[Service]
Type=simple
User=restic
Group=restic
ExecStart=/usr/bin/rclone serve restic RCLONECONFIG:LOCKBUCKET --addr=127.0.0.1:8002
Restart=always
RestartSec=5
StartLimitInterval=0
[Install]
WantedBy=multi-user.target
Enregistrez le fichier et activez-le via :
systemctl daemon-reload
systemctl enable restic-locks
systemctl start restic-locks
Vérifiez que le service a démarré :
systemctl status restic-locks
Vous devriez maintenant voir Actif : actif (en cours d'exécution).
Appuyez sur q pour quitter.
Nous avons maintenant créé les deux services rclone serve restic systemd, d'abord sur le port 8001 pour le service principal en mode ajout uniquement, puis sur le port 8002 pour le service de verrouillage en mode lecture + écriture.
3 Préparez TinyProxy
Tinyproxy fusionnera les deux services en un front unifié présenté à restic. Il est installé dans un terminal racine de l'ordinateur que vous souhaitez sauvegarder :
apt install tinyproxy
Créez ensuite une sauvegarde du fichier de configuration de tinyproxy :
cp -a /etc/tinyproxy/tinyproxy.conf /etc/tinyproxy/tinyproxy.conf.bak
Si le fichier ne peut pas être trouvé ici, il peut souvent être trouvé dans /etc/tinyproxy.conf à la place.
Maintenant, éditez le fichier de configuration :
nano /etc/tinyproxy/tinyproxy.conf
Vous devez apporter un certain nombre de modifications aux fichiers qui vont maintenant être détaillés. Tout d'abord, commentez le numéro de port prédéfini et définissez un nouveau numéro de port :
#Port 8888
Port 8000
Deuxièmement, il est important de n'autoriser que les connexions depuis localhost, ajoutez donc une ligne Listen :
#Listen 192.168.0.1
Listen 127.0.0.1
Troisièmement, modifiez la valeur du délai d'attente à une heure :
#Timeout 600
Timeout 3600
Quatrièmement, connectez tinyproxy aux deux services rclone serve restic systemd. Elles doivent être écrites dans l'ordre indiqué ci-dessous : la règle générale en premier et la règle spécifique en dernier, car la dernière règle dans tinyproxy l'emporte toujours en cas d'égalité.
ReversePath "/" "http://127.0.0.1:8001/"
ReversePath "/locks" "http://127.0.0.1:8002/locks"
Enfin, laissez tinyproxy fonctionner exclusivement en mode inverse uniquement :
#ReverseOnly Yes
ReverseOnly Yes
Maintenant, toutes les modifications nécessaires ont été apportées. Veuillez enregistrer le fichier de configuration, dans nano, vous le faites en appuyant sur Ctrl+O, puis quittez nano avec Ctrl+X pour revenir au terminal.
Afin d'activer TinyProxy, nous allons maintenant le redémarrer :
systemctl stop tinyproxy
systemctl start tinyproxy
Enfin, veuillez vérifier que tinyproxy fonctionne correctement :
systemctl status tinyproxy
Appuyez sur q pour quitter. Maintenant, tinyproxy est configuré pour être utilisé par restic. Dans la section suivante, nous allons configurer restic en lui-même.
4 Configurer le programme de sauvegarde restic
Enfin, nous effectuerons la dernière étape de la configuration, qui consiste à mettre en place le programme de sauvegarde restic. Tout d'abord, installez restic :
apt install restic
Ensuite, nous devons initialiser les variables d'environnement pour restic. Nous spécifions d'abord l'emplacement du référentiel restic en entrant ceci dans un terminal :
export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'
Veuillez maintenant choisir une phrase de passe forte pour vos sauvegardes. Il est important que vous stockiez la phrase secrète dans un endroit sûr. La phrase de passe est nécessaire pour pouvoir accéder aux sauvegardes car celles-ci sont entièrement cryptées. Remplacez PASSPHRASE ci-dessous par le mot de passe que vous avez choisi puis saisissez la commande dans le terminal :
export RESTIC_PASSWORD='PASSPHRASE'
Créons maintenant le dépôt restic :
restic init
Testons que restic fonctionne comme il se doit. Nous avons déjà stocké le mot de passe dans la variable d'environnement RESTIC_PASSWORD, nous pouvons donc accéder au référentiel pour lister les instantanés :
restic snapshots
Si tout se passe comme prévu, nous devrions maintenant obtenir une liste vide (car nous n'avons pas encore fait de sauvegarde) et le texte 0 instantanés.
Nous avons maintenant tout préparé pour le stockage des sauvegardes et pouvons passer aux étapes finales d'exécution des sauvegardes et des restaurations.
5 Testez à la fois la sauvegarde et une restauration partielle
Dans la dernière étape de ce tutoriel, nous allons effectuer une sauvegarde complète du système, puis tester une restauration partielle. A cet effet, deux scripts shell seront créés (un pour la sauvegarde et un autre pour la restauration).
5.1 Préparer un script de sauvegarde
Tout d'abord, vous devez disposer d'un script de sauvegarde pouvant être exécuté via cron à un intervalle approprié, par exemple une fois par jour. Le script de sauvegarde peut, par exemple, être créé en tant que fichier auquel seul root a accès, puis modifié avec nano :
touch /usr/local/bin/backup-restic.sh
chown root.root /usr/local/bin/backup-restic.sh
chmod 700 /usr/local/bin/backup-restic.sh
nano /usr/local/bin/backup-restic.sh
Vous trouverez ci-dessous un exemple du contenu du script de sauvegarde, dans lequel vous devez remplacer PASSPHRASE par la phrase secrète que vous avez choisie précédemment.
#!/bin/sh
export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'
export RESTIC_PASSWORD='PASSPHRASE'
restic backup / --exclude=/dev --exclude=/proc --exclude=/sys --exclude=/run --exclude=/tmp --exclude=/mnt --exclude=/root/.cache
Veuillez respecter les exclusions faites ci-dessus - vous voudrez peut-être modifier les répertoires qui sont exclus de la sauvegarde.
5.2 Exécuter le script de sauvegarde
Enregistrez le fichier et exécutez-le via le terminal :
/usr/local/bin/backup-restic.sh
Après quelques secondes, vous devriez voir comment restic parcourt vos fichiers et également un pourcentage estimé de la quantité de sauvegarde terminée. L'ETA est une estimation approximative du temps restant jusqu'à la finalisation en minutes et secondes. La première sauvegarde est assez longue, mais ensuite les sauvegardes suivantes sont rapides car seuls les fichiers modifiés ou créés depuis la dernière sauvegarde doivent être transférés.
Pour que la sauvegarde s'exécute régulièrement, ajoutez une ligne à la crontab. Éditez d'abord /etc/crontab avec :
nano /etc/crontab
Ajoutez ensuite la planification de la sauvegarde. Par exemple, si la sauvegarde doit s'exécuter à 02h00 tôt le matin chaque jour, ajoutez cette ligne à /etc/crontab :
00 02 * * * root /usr/local/bin/backup-restic.sh
(Veuillez noter que cron fonctionne sur le format mm:hh - c'est-à-dire les minutes avant les heures.)
5.3 Tester que la restauration fonctionne
Un système de sauvegarde n'est jamais complet tant que l'on n'a pas testé que les restaurations fonctionnent bien. Nous utiliserons le support de fusible de restic pour parcourir la dernière sauvegarde. Tapez ceci dans le terminal, en remplaçant PASSPHRASE par la phrase secrète restic que vous avez choisie précédemment :
mkdir /mnt/restic
export RESTIC_REPOSITORY='rest:http://127.0.0.1:8000/'
export RESTIC_PASSWORD='PASSPHRASE'
restic mount /mnt/restic &
cd /mnt/restic
cd snapshots
cd latest
ls
Vous pourrez maintenant voir le dernier instantané (la dernière sauvegarde effectuée). Vous pouvez comparer avec diff qu'un fichier a été correctement sauvegardé, par exemple pour /etc/fstab :
diff /mnt/restic/snapshots/latest/etc/fstab /etc/fstab
Si vous n'obtenez aucune sortie de diff, les deux fichiers sont identiques et la sauvegarde a fonctionné pour ce fichier. Si vous, en revanche, avez modifié le fichier depuis la dernière sauvegarde, vous verrez quelles lignes des fichiers diffèrent.
Enfin, nous allons démonter le support de fusible restic :
cd ~
umount /mnt/restic/
5.4 Remarques finales
Félicitations, si tout s'est bien passé, vous avez maintenant terminé la configuration d'un système de sauvegarde secondaire doté de plusieurs fonctionnalités robustes :
Le système de sauvegarde est hors site, ce qui signifie qu'il protège les données des accidents qui pourraient arriver à l'ordinateur dont les sauvegardes sont faites.
Il est également ajout uniquement, ce qui signifie qu'aucun virus ou accident sur l'ordinateur à partir duquel les sauvegardes sont effectuées ne peut jamais écraser une sauvegarde déjà effectuée précédemment. La seule façon de supprimer des sauvegardes est de se connecter via l'interface Web Wasabi, et vous devez donc protéger vos données de connexion à l'interface Web Wasabi. De préférence, vous pouvez activer 2FA (authentification à deux facteurs) pour une sécurité accrue.
Si vous activez la tâche cron, le système de sauvegarde est également automatique. Cependant, n'oubliez pas de tester régulièrement les restaurations afin de pouvoir vérifier que la sauvegarde fonctionne.
Par rapport à de nombreux autres services de stockage cloud en ligne, Wasabi présente l'avantage de transferts rapides à un prix compétitif.
Ce système fonctionne bien pour les sauvegardes secondaires, comme assurance supplémentaire au cas où le premier système de sauvegarde échouerait pour une raison quelconque. Enfin, un avantage important est qu'il s'adapte à la taille dont vous avez besoin - vous payez simplement par Go de stockage (bien que vous deviez toujours payer pour un minimum de 1 To) et n'avez pratiquement aucun seuil de stockage maximal espace.