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.
D'autres solutions pour sauvegarder vos données web existent: prenez connaissance de cet autre guide.
Prérequis
- Utiliser un hébergement Web.
- Posséder un espace Swiss Backup Infomaniak avec un quota d'appareil disponible (minimum 1) pour une sauvegarde Cloud.
- Ajouter 1 appareil de type Cloud pour obtenir les paramètres OpenStack Swift.
⚠️ Swiss Backup est compatible avec toute application supportant Openstack Swift, S3 Compatible ou SFTP. Pour de l'aide supplémentaire contactez le support du logiciel utilisé ou un partenaire — découvrez aussi le rôle de l'hébergeur
Installer Restic
Pour cela:
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.
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 :
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
etOS_USERNAME
remplacer SBI-XXXX par votre identifiantOS_PASSWORD
remplacer par le mot de passe généré lors de l’activationRESTIC_REPOSITORY
- remplacez SBI-XXXX par votre identifiant
- 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
Chargez la configuration de Restic en effectuant la commande suivante:
source resticconf
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.