GNU/Linux >> Tutoriels Linux >  >> Debian

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 dans 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. /P>

Ce guide est structuré en cinq parties :

Dans la première partie, nous préparerons un compte sur le cloud Wasabi stockage où nous stockerons plus tard les sauvegardes. Wasabi propose un essai gratuit de 30 jours à des fins de test.

Deuxièmement, 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 .

Comme toute dernière étape, nous allons tester à la fois en faisant une sauvegarde et une restauration partielle.

1 Préparer un compte sur le stockage cloud Wasabi

1.1 Créer un compte Wasabi

Wasabi a un essai gratuit de 30 jours qui peut être trouvé ici :

https://wasabi.com/sign-up/

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 :

https://console.wasabisys.com/

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 compartiment 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 avec le nom de domaine de l'ordinateur que vous souhaitez sauvegarder. Après avoir défini le  DATABUCKET nom, veuillez l'écrire. 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 s'affichent :pour Gestion des versions du bucket et Journalisation du compartiment 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 cliquez sur Créer un bucket .

Maintenant, répétez la même procédure et créez un autre compartiment. Ce deuxième compartiment ne sera utilisé que pour stocker les informations de verrouillage de restic. Nous l'appellerons plus tard le LOCKBUCKET . Cliquez sur Créer un compartiment à nouveau, 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 avec le nom de domaine de l'ordinateur à sauvegarder. Après avoir défini le LOCKBUCKET nom, 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 le IAM icône dans la ligne d'icônes la plus élevée. 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 le noter afin de pouvoir remplacer USERNAME dans les modèles qui suivront plus loin dans ce guide avec votre valeur.

Sous Accès dans 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 Créer un utilisateur bouton.

À 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 CLÉ SECRÈTE 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 allez sauvegarder.

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 politique 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 avec le nom que vous avez donné au premier bucket, 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 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 du haut). 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 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 , il s'agit de la durée minimale pendant laquelle chaque fichier reste après que le client a tenté 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 en sécurité 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 du haut). 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, effectuez 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 avec le nom.

Puis imprimez 4 pour les fournisseurs de stockage conformes à Amazon S3 et entrez

Puis imprimez 7 pour le stockage d'objets Wasabi et entrez

Puis imprimez 1 pour Saisir les informations d'identification AWS à l'étape suivante et entrez

Copiez la CLÉ D'ACCÈS que vous avez enregistré précédemment dans un fichier et collez-le, puis appuyez sur Entrée

Ensuite, copiez et collez la CLÉ SECRÈTE vous avez également enregistré dans le même fichier plus tôt, suivi de Enter

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, saisissez cette région pour l'Europe, puis saisissez :

eu-central-1

Pour l'API Endpoint for S3 , saisissez ceci si le bucket 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 :

https://wasabi-support.zendesk.com/hc/en-us/articles/360015106031-What-are-the-service-URLs-for-Wasabi-s-different-regions-

Laisser la contrainte d'emplacement vide et appuyez sur Entrée

Appuyez sur 1 pour le propriétaire obtient FULL_CONTROL puis Entrée

Appuyez sur y pour Modifier la configuration avancée puis Entrée

Appuyez sur Entrée pour la valeur par défaut de la taille du fragment

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 la téléchargement simultané puis 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 pour v2_auth suivi de Entrée

Appuyez sur y pour Oui c'est OK et entrez

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 modifier RCLONECONFIG à votre valeur, et aussi DATABUCKET à 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.

Commencez par créer un utilisateur restreint :

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 avant, vous devez changer le RCLONECONFIG ainsi que le DATABUCKET valeur à 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 le RCLONECONFIG ainsi que le LOCKBUCKET valeur à 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éparer 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 est introuvable ici, il peut souvent être trouvé dans /etc/tinyproxy.conf à la place.

Modifiez maintenant 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. Remplacer PASSPHRASE ci-dessous avec 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 répertorier 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 Tester à la fois la sauvegarde et une restauration partielle

Dans la dernière étape de ce tutoriel, nous allons faire 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 modifier PASSPHRASE à la phrase de passe 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 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 au format mm:hh, c'est-à-dire minutes avant 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 changeant PASSPHRASE à la phrase de passe 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 é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, l'utilisation de 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 d'espace de stockage maximal.


Debian
  1. Accélérez Apache avec mod_pagespeed et Memcached sur Debian 8

  2. Sauvegardes en ajout uniquement avec borg vers un autre VPS ou serveur dédié

  3. Installer et configurer Apache et PHP avec cgi sur Ubuntu ou Debian

  4. Configurer Apache et Php avec mod_fcgid sur Ubuntu/Debian

  5. Comment configurer un serveur de messagerie avec Exim4 et DBMail sur un VPS Debian 7

Installation de Lighttpd avec PHP5 (PHP-FPM) et MySQL sur Debian 8 (Jessie)

Surveillance de serveur avec Munin et Monit sur Debian 8 (Jessie)

Comment installer et configurer vsftpd avec TLS sur Debian 8 (Jessie)

Installation de Nginx avec PHP (comme PHP-FPM) et MariaDB (LEMP) sur Debian 8

Installer Lighttpd avec PHP FPM et MariaDB (LLMP) sur Debian 9

Comment sauvegarder des fichiers et des dossiers dans Debian 10