Récupération des données sauvegardées chez OVH avec duplicity

aryliin

18 mars 2019

Les commandes utiles pour lister et récupérer ses fichers une fois que l'on a sauvegardé ses données dans le Public Cloud OVH avec duplicity.

Nous avons récemment choisi de sauvegarder nos données dans le Public Cloud de OVH. Et pour cela, nous avions utilisé duplicity. Nous avons laissé tourner le tout pendant un bon mois. Ce que nous souhaitons maintenant, c'est vérifier que tout s’est bien passer en listant les fichiers sauvegardé et en en récupérant certains.

Le moment de vérité approche. 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 avait déjà fait des tests le jour où l'on a tout mis en place. On avait sauvegardé des données bidons et puis on les avait rapatriées sans problèmes. On avait bien vérifié également que le cron mettait bien à jour ce qu'il fallait en vérifiant via l'interface d'OVH que des données étaient bien envoyées à l'heure dite.

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é. Donc autant faire un test en réél avant d'avoir vraiment besoin de récupérer nos données.

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 en fait, lorsque l'on backup avec duplicity, les fichiers s'appellent tous "duplicity-qqch", ce qui 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>       \
duplicity  list-current-files  \
    --encrypt-key <key id>    \
    --sign-key <key id>       \
    --cf-backend swift <src>

Dont voici la signification des paramètres :

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.

Récupérer un fichier en particulier

On rentre dans le vif du sujet.

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 :

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 rapidement. 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 :

Pour aller plus loin

Si vous avez loupé l’article sur le backup chez OVH avec duplicity, n’hésitez pas à y jeter un coup œil.

Sinon, vous pouvez également vous intéresser au backup des dépôts gitlab.