Récupération des données sauvegardées chez OVH avec duplicity
Divulgâchage : Les commandes utiles pour lister et récupérer ses fichiers une fois que l’on a sauvegardé ses données dans le Public Cloud OVH avec duplicity. On va utiliser duplicity pour la récupération des données, en se servant des mêmes informations de configuration que lors de la sauvegarde.
Obsolète : Depuis le 24 mars 2020, et le passage de la version 2 à la version 3 de l’API Keystone par OVH, cet article est obsolète. Veuillez consulter l’article « Mettre en place une sauvegarde chez OVH avec Duplicity » pour la version à jour.
Nous avons récemment choisi de sauvegarder nos données
dans le Public Cloud de OVH. Et pour cela, nous avions utilisé
duplicity
. Nous l’avons laissé tourner pendant un bon mois
avant d’effectuer notre premier exercice de récupération de données.
Aujourd’hui, on va vérifier que tout ce que l’on a sauvegardé depuis un mois est bien sur le serveur et récupérable. Bon, comme on n’est pas des boulets non plus, on a déjà fait des tests le jour où l’on a tout mis en place.
En sauvegardant des données bidons, on avait tenté des les rapatrier
sans problèmes. Les jours d’après, on avait vérifié que le
cron
marchait bien, en vérifiant les dates des derniers
fichiers dans l’interface de OVH. Mais bon, cela n’empêche pas de
stresser un minimum lors de la première récupération. On ne peut pas
s’empêcher de se demander si quelque chose à merdé.
Lister les fichiers
La première commande intéressante est de lister ce que l’on a sauvegardé.
Ca peut paraître bête dit comme ça, mais comme tous les fichiers
s’appellent duplicity-qqch
, ce n’est pas forcément pratique pour
retrouver ce que l’on a sauvegardé.
Afin de récupérer le listing de ce qui est sauvegardé, la commande
est duplicity list-current-files
. Comme nous sommes dans le
cas d’une sauvegarde sur Public Cloud OVH, il nous faut ajouter les
informations swift adéquates, comme nous l’avions fait lors du backup.
La commande finale est la suivante :
SWIFT_AUTHURL=<SWIFT_AUTHURL> \
<SWIFT_AUTHVERSION> \
SWIFT_AUTHVERSION=<SWIFT_TENANTNAME> \
SWIFT_TENANTNAME=<SWIFT_REGIONNAME> \
SWIFT_REGIONNAME=<SWIFT_PASSWORD> \
SWIFT_PASSWORD=<SWIFT_USERNAME> \
SWIFT_USERNAME=list-current-files \
duplicity --encrypt-key <key id> \
--sign-key <key id> \
--cf-backend swift <src>
Dont voici la signification des paramètres :
- SWIFT_AUTHURL, SWIFT_AUTHVERSION, SWIFT_TENANTNAME, SWIFT_REGIONNAME, SWIFT_PASSWORD, SWIFT_USERNAME correspondent à ceux fournis par OVH. Si vous ne savez plus comment les obtenir, n’hésitez pas à retourner sur l’article sur le backup,
<key id>
est l’id de la clef ayant été utilisée pour signer et chiffrer la sauvegarde,<src>
est l’adresse où sont sauvegardées les données, pour rappel,swift://<conteneur>
.
Evidement, si vous avez backupé énormément de choses, la liste va
être interminable. Mais au moins, ça permet d’avoir une bonne idée de ce
qui est backupé. Et donc, de vérifier à première vue s’il y a un couac.
N’hésitez pas à utiliser grep
si vous cherchez un fichier
en particulier.
Récupérer un fichier en particulier
Quand on parle du loup…
On sait que nos fichiers sont bien sur le serveur distant. On les
backupés, on a vérifié leur présence via l’interface web d’OVH et via
list-current-files
. Maintenant, ce qu’on aimerait vraiment,
c’est récupérer un fichier parmi tous ceux que l’on a backupé.
Pour récupérer un fichier en particulier, nous allons utiliser la
commande duplicity
avec l’option
file-to-restore
et lui indiquer le chemin du fichier à
récupérer. L‘arborescence des fichiers dans le backup est la même que
celle du pc à sauvegarder.
Ce qui nous donne la commande suivante :
SWIFT_AUTHURL=<SWIFT_AUTHURL> \
<SWIFT_AUTHVERSION> \
SWIFT_AUTHVERSION=<SWIFT_TENANTNAME> \
SWIFT_TENANTNAME=<SWIFT_REGIONNAME> \
SWIFT_REGIONNAME=<SWIFT_PASSWORD> \
SWIFT_PASSWORD=<SWIFT_USERNAME> \
SWIFT_USERNAME=\
duplicity --file-to-restore <chemin du fichier> \
--encrypt-key <key id> \
--sign-key <key id> \
--cf-backend <src> ./
Dont voici la signification des paramètres :
- SWIFT_AUTHURL, SWIFT_AUTHVERSION, SWIFT_TENANTNAME, SWIFT_REGIONNAME, SWIFT_PASSWORD, SWIFT_USERNAME correspondent à ceux fournis par OVH,
<key id>
est l’id de la clef ayant été utilisée pour signer et chiffrer la sauvegarde,<src>
est l’adresse où sont sauvegardées les données, pour rappel,swift://<conteneur>,
<chemin du fichier>
est le chemin menant au fichier que l’on souhaite récupérer,./
car on récupère le fichier à l’endroit où nous sommes. On peut également mettre le chemin de destination si on veut que les fichiers soient enregistrés à un endroit bien précis.
Récupérer tous les fichiers
Dès fois, il peut être utile de tout récupérer en une seule fois. Particulièrement en cas de crash disque, afin de pouvoir remettre en place son infrastructure sur un nouveau disque. Par contre, en fonction du nombre de données sauvegardées, ça peut être relativement long. Pour cela, la commande adéquate est :
SWIFT_AUTHURL=<SWIFT_AUTHURL> \
<SWIFT_AUTHVERSION> \
SWIFT_AUTHVERSION=<SWIFT_TENANTNAME> \
SWIFT_TENANTNAME=<SWIFT_REGIONNAME> \
SWIFT_REGIONNAME=<SWIFT_PASSWORD> \
SWIFT_PASSWORD=<SWIFT_USERNAME> \
SWIFT_USERNAME=\
duplicity --verbosity notice \
--encrypt-key <key id> \
--sign-key <key id> \
--num-retries 3 \
--cf-backend swift \
--cf-backend <src> <dst>
Dont voici la signification des paramètres :
- SWIFT_AUTHURL, SWIFT_AUTHVERSION, SWIFT_TENANTNAME, SWIFT_REGIONNAME, SWIFT_PASSWORD, SWIFT_USERNAME correspondent à ceux fournis par OVH,
<key id>
est l’id de la clef ayant été utilisée pour signer et chiffrer la sauvegarde,<src>
est l’adresse où sont sauvegardées les données, pour rappel,swift://<conteneur>
,<dst>
est le répertoire destination où l’on souhaite que les données récupérées soient enregistrées.
Pour aller plus loin
Vous pouvez maintenant récupérer les données que vous avez sauvegardé
avec duplicity
sur le Cloud de OVH. Je ne saurais trop vous
conseiller de garder les informations de connexion et vos clefs en
sécurité dans un coin, car si l’ordinateur sur lesquels vous les avez
stockés venait à crasher ou à disparaître lors d’un incendie, vous ne
pourriez plus récupérer vos données.