Base de connaissances

1 000 FAQ, 500 tutoriels et vidéos explicatives. Ici, il n'y a que des solutions !

Sauvegarder un hébergement Web avec Restic sur Swiss Backup (Swift)

Ce guide détaille comment sauvegarder des données de vos hébergements Web (Starter, mutualisés ou Serveur Cloud) à l'aide de l'application restic via le protocole OpenStack Swift sur Swiss Backup la solution de sauvegarde dans un cloud suisse indépendant.

 

Préambule

  • D'autres solutions pour sauvegarder vos données web existent: prenez connaissance de cet autre guide.
  • Les différents services proposés par Infomaniak sont tous compatibles avec les protocoles standards correspondants (S3/Swift pour le stockage par exemple), par conséquent si vous rencontrez un problème avec un logiciel tiers, contactez directement son éditeur ou un Partenaire et consultez la politique de support ainsi que l'article 11.9 des CGU Infomaniak.

 

Installer Restic

Prérequis

Pour cela:

  1. Téléchargez le binaire linux_amd64 depuis le dépôt github de restic:

    uid@h2web:~$ wget -O restic.bz2 https://github.com/restic/restic/releases/download/v0.14.0/restic_0.14.0_linux_amd64.bz2

    ⚠️ Le lien de téléchargement peut varier lors de la sortie de nouvelle version ; la version 0.14 utilise la compression par défaut.

  2. Décompressez l’archive et rendre le binaire exécutable:

    uid@h2web:~$ bunzip2 restic.bz2
    uid@h2web:~$ chmod +x restic

 

Configurer Restic

Création d’une clé de chiffrement pour chiffrer les données

  • La clé ne peut être changée et en cas de perte les données ne seront plus lisibles.
  • Placez cette clé dans un fichier lisible par Restic.
  • Exemple de génération d’une clé:

    uid@h2web:~$ openssl rand -base64 16 > restickey	

Configuration de restic

Pour configurer la sauvegarde :

  1. Créez un fichier resticconfig avec le contenu suivant à adapter selon les informations propres à votre appareil:

    echo "export OS_AUTH_URL=https://swiss-backupXX.infomaniak.com/identity/v3
    export OS_REGION_NAME=RegionOne
    export OS_PROJECT_NAME=sb_project_SBI-XXXX
    export OS_PASSWORD=''
    export OS_USER_DOMAIN_NAME=default
    export OS_USERNAME=SBI-XXXX
    export OS_PROJECT_DOMAIN_NAME=default
    export RESTIC_REPOSITORY=swift:sb_project_SBI-XXXX:/
    export RESTIC_PASSWORD_FILE=restickey" > resticconf
    • OS_AUTH_URL URL d’accès au cluster Swiss Backup (1)
    • OS_PROJECT_NAME et OS_USERNAME remplacer SBI-XXXX par votre identifiant
    • OS_PASSWORD remplacer par le mot de passe généré lors de l’activation
    • RESTIC_REPOSITORY
      1. remplacez SBI-XXXX par votre identifiant
      2. remplacez le bucket name par le nom que vous souhaitez donner à votre conteneur qui stocke les backups
    • RESTIC_PASSWORD_FILE remplacer par le path complet vers le fichier contenant la clé de chiffrement
  2. Chargez la configuration de Restic en effectuant la commande suivante:

    source resticconf	
  3. Initialisez le bucket avec la commande suivante:

    uid@h2:~$ ./restic -r $RESTIC_REPOSITORY init	

(1) L'indication "//swiss-backup02", "//swiss-backup03" etc. change en fonction du numéro de cluster indiqué sur le Manager dans les informations de stockage Cloud sous "Emplacement" ; et si votre appareil Swiss Backup a été créé avant octobre 2020, il faudra utiliser https://swiss-backup.infomaniak.com/identity/v3

 

Sauvegarder vos fichiers

Pour sauvegarder vos fichiers, il suffit d'exécuter la commande suivante:

uid@h2:~$ ./restic backup
#exemple pour sauvegarder l'ensemble d'un hébergement
uid@h2:~$ ./restic backup ./
#exemple pour sauvegarder le dossier sites
uid@h2:~$ ./restic backup sites/

Le premier snapshot est long (plusieurs heures selon la quantité de données) car tous les fichiers sont copiés tandis que les suivants utiliseront le principe différentiel.

 

Sauvegarder les bases de données

Restic permet de lire les données provenant de stdin, afin d'enregistrer la sortie d'un programme.

Utilisez la commande suivante pour effectuer une sauvegarde d'une base de données MySQL individuelle:

mysqldump --databases nom_de_la_base_de_données -u utilisateur_de_la_base_de_données -p | restic backup --stdin --stdin-filename database_dump.sql	

Afin de sauvegarder toutes les bases de données, exécutez la commande mysqldump pour extraire toutes les bases de données du serveur, puis rediriger la sortie vers Restic:

mysqldump -u utilisateur_de_la_base_de_données -p --all-databases | restic backup --stdin --stdin-filename all_databases.sql	

 

Lister les sauvegardes

Pour lister vos sauvegardes vous pouvez utiliser la commande suivante:

uid@h2:~$ ./restic snapshots	

 

Restaurer une sauvegarde

Vous pouvez restaurer une sauvegarde avec la commande suivante:

uid@h2:~$ ./restic restore  --target 	

 

Automatiser

Sur Serveur Cloud il est possible d’ajouter une tâche cron pour automatiser le lancement de la sauvegarde

Sur un hébergement mutualisé cette option n'est pas disponible.


Cette FAQ a été utile?