Sauvegardes Public Cloud Archive et duplicity/deja-dup


29 Too Many Requests



OK, du coup "ça marche" entre guillemets. Tu retombes sur le bug à la deuxième sauvegarde à l'origine de ma création ce ce fil ;-) ,qui devrait être résolu avec la version 0.8 de duplicity !

Est-ce que chez toi la première sauvegarde directement à partir de l'interface graphique de Deja-Dup avait fonctionné ?

la toute toute première fois sûrement que non par ce que j'avais galéré avec tout ce qu'on a vu ici, mais après, comme je l'ai fais aujourd’hui, si tu vides ton container sur le site d'ovh et tu relances derrière deja-dup, ça doit marcher nickel pour la première sauvegarde.
Attention, tu as bien un message d'erreur à la fin de la première sauvegarde par dejadup, mais c'est parce qu'il n'arrive pas à lancer une vérification à la fin de la sauvegarde (puisque qu'il faut attendre le "dégel" des fichiers). Mais la sauvegarde s'est faite correctement.

  1. J'ai vidé mon container dans le Manager d'OVH et ensuite relancé par l’interface graphique Deja-Dup : j'ai toujours mon message d'erreur `Container creation failed: ClientException Auth GET failed: https://auth.cloud.ovh.net/v2.0 200 OK`

    2) Par contre, quand je lance en ligne de commande duplicity avec ` duplicity --verbosity notice --num-retries 3 --asynchronous-upload --cf-backend swift --volsize 100 ~/Documents/Fax/ swift://Test_Duplicity` , cela marche très bien

    3) Cela marche aussi avec `export DEJA_DUP_DEBUG=1`puis ` deja-dup --backup` à ceci près que l'interface graphique de Deja-Dup m’indique finalement que la sauvegarde a échouée ; ce qui est normal au vu de la version de duplicity

    Donc finalement c''est bien l'interface graphique de Deja-Dup qui me pose problème

la je sèche ! Je ne vois pas pourquoi il y aurait une différence, deja-dup – backup ne fait qu'utiliser les paramètres saisis dans deja-dup-preferences

J'ai désinstallé puis réinstallé Deja-Dup 34.2 . J'ai essayé d'autres versions plus récentes mais j'ai renoncé devant les problèmes de version des dépendances nécessaires . Donc je sèche lamentablement…

Encore merci pour ton aide précieuse.
Je vais surveiller la sortie de duplicity 0.8 qui devrait régler la question de la nécessité de dégeler le difftar (plus de 3 heures d'attente demandée… D'ici là la nouvelle Ubuntu LTS 18.04 sera sortie (et LinuxMint suit normalement le cycle des LTS)…

Du nouveau ici :

https://docs.ovh.com/gb/en/storage/pca/duplicity/

Merci pour l'info.
1) L'installation de la version de développement de duplicity me renvoie l'erreur suivante :
"Traceback (most recent call last):
File "/usr/bin/pip", line 9, in
from pip import main
ImportError: cannot import name main"
2) Je me demande bien où mettre le fichier "config.json file"
3) je n'ai pas trouvé si la version 0.8 de duplicity sera intégrée dans la nouvelle version Ubuntu 18.04 ou LinuxMint 19.

À suivre…

J'avoue que je n'ai pas trop le temps en ce moment d'essayer. Ce qui me chagrine le plus c'est l'utilisation de deux comptes d'après le script, un PCA et PCS.

Hello,

Duplicity a probablement besoin de stocker quelques fichiers d'information dans PCS pour pouvoir instantanément les récupérer. Les données elles, sont dans PCA.

YEEEEEEEEH enfin ça marche ! Lassé d'attendre que la branche 0.8 n’arrive dans stable, puis dans Debian stable, je m'y suis remis avec cette fois l'intention d'aller jusqu'au bout.

- Première chose j'ai du désinstaller le paquet "duplicity" de Debian car je n'ai pas réussi à faire fonctionner en parallèle de duplicity 0.8 que j'avais installé en local avec celui des dépôts.

- Récupérer la version "en cours" de la branche 0.8 ici : https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/tarball">https://bazaar.launchpad.net/~duplicity-team/duplicity/0.8-series/tarball
et dézipper quelque part dans son répertoire personnel. Si vous utilisez bazaar vous pouvez le récupérer aussi par ce moyen.

- J'ai du ajouter les paquets suivants : python-fasteners python-dev librsync-dev python-future
(sachant que les dépendances du paquet duplicity que j'ai enlevé sont toujours la ainsi que les deux paquets pour swift)

> cd /~duplicity-team/duplicity/0.8-series/
> sudo python setup.py install --prefix=/usr/local

- pour chaque containeur de type "Public Cloud Archive" que vous avez créé, créez en un autre de type "Public Cloud Storage/Privé" avec par convention le même nom que le containeur PCA avec "hot" ajouté à la fin du nom.



- Création suivant la doc https://docs.ovh.com/gb/en/storage/pca/duplicity/">Manage your archives with duplicity du fichier de config, par exemple `~/.config/duplicity/config.json` avec dedans par exemple :

> [
> {
> "description": "Cold storage",
> "url": "pca://thierrybo-desk_tests",
> "env": [
> {
> "name": "PCA_AUTHURL",
> "value": "https://auth.cloud.ovh.net/v3"
> },
> {
> "name": "PCA_AUTHVERSION",
> "value": "3"
> },
> {
> "name": "PCA_PROJECT_DOMAIN_NAME",
> "value": "Default"
> },
> {
> "name": "PCA_TENANTID",
> "value": ""
> {
> "name": "PCA_USERNAME",
> "value": ""
> },
> {
> "name": "PCA_PASSWORD",
> "value": ""
> },
> {
> "name": "PCA_REGIONNAME",
> "value": ""
> }
> ],
> "prefixes": ["cold
"]
> },
> {
> "description": "Hot storage",
> "url": "swift://thierrybo-desk_tests_hot",
> "env": [
> {
> "name": "SWIFT_AUTHURL",
> "value": "https://auth.cloud.ovh.net/v3"
> },
> {
> "name": "SWIFT_AUTHVERSION",
> "value": "3"
> },
> {
> "name": "SWIFT_PROJECT_DOMAIN_NAME",
> "value": "Default"
> },
> {
> "name": "SWIFT_TENANTID",
> "value": "> },
> {
> "name": "SWIFT_USERNAME",
> "value": ""
> },
> {
> "name": "SWIFT_PASSWORD",
> "value": ""
> },
> {
> "name": "SWIFT_REGIONNAME",
> "value": ""
> }
> ],
> "prefixes": ["hot_"]
> }
> ]

mais si les variables d'environnement sont dans .bashrc, il peut être simplifié juste à :

[
{
"description": "Cold storage",
"url": "pca://thierrybo-desk_tests",
"prefixes": ["cold_"]
},
{
"description": "Hot storage",
"url": "swift://thierrybo-desk_tests_hot",
"prefixes": ["hot_"]
}
]


- Première sauvegarde :
> duplicity --verbosity notice --num-retries 3 --asynchronous-upload --volsize 100 --file-prefix-manifest 'hot_' --file-prefix-signature 'hot_' --file-prefix-archive 'cold_' ~/repertoire_a_sauvegarder/ "multi://$HOME/.config/duplicity/config.json?mode=mirror&onfail=abort"
> Local and Remote metadata are synchronized, no sync needed.
> Last full backup date: none
> GnuPG passphrase:
> Retype passphrase to confirm:
> No signatures found, switching to full backup.
> --------------[ Backup Statistics ]--------------
> StartTime 1550333905.51 (Sat Feb 16 17:18:25 2019)
> EndTime 1550333905.79 (Sat Feb 16 17:18:25 2019)
> ElapsedTime 0.28 (0.28 seconds)
> SourceFiles 6
> SourceFileSize 156558 (153 KB)
> NewFiles 6
> NewFileSize 156558 (153 KB)
> DeletedFiles 0
> ChangedFiles 0
> ChangedFileSize 0 (0 bytes)
> ChangedDeltaSize 0 (0 bytes)
> DeltaEntries 6
> RawDeltaSize 152462 (149 KB)
> TotalDestinationSizeChange 48518 (47.4 KB)
> Errors 0
> -------------------------------------------------

- Résultat dans containeur thierrybo-desk_tests


- Résultat dans containeur thierrybo-desk_tests_hot


- Commandes suivante :

> duplicity --verbosity notice --num-retries 3 --asynchronous-upload --volsize 100 --file-prefix-manifest 'hot_' --file-prefix-signature 'hot_' --file-prefix-archive 'cold_' ~/repertoire_a_sauvegarder/ "multi://$HOME/.config/duplicity/config.json?mode=mirror&onfail=abort"
> Local and Remote metadata are synchronized, no sync needed.
> Last full backup date: Sat Feb 16 17:18:06 2019
> GnuPG passphrase:
> Retype passphrase to confirm:
> --------------[ Backup Statistics ]--------------
> StartTime 1550334600.89 (Sat Feb 16 17:30:00 2019)
> EndTime 1550334600.90 (Sat Feb 16 17:30:00 2019)
> ElapsedTime 0.01 (0.01 seconds)
> SourceFiles 5
> SourceFileSize 156558 (153 KB)
> NewFiles 1
> NewFileSize 4096 (4.00 KB)
> DeletedFiles 1
> ChangedFiles 0
> ChangedFileSize 0 (0 bytes)
> ChangedDeltaSize 0 (0 bytes)
> DeltaEntries 2
> RawDeltaSize 0 (0 bytes)
> TotalDestinationSizeChange 231 (231 bytes)
> Errors 0
> -------------------------------------------------

HOURRAH !

Bonjour,


pour info la première version stable de Duplicity 0.8 avec support d'OVH PCA est sortie hier :

https://launchpad.net/duplicity/+announcement/15271

Toutefois je met un bémol à mon enthousiasme de mon message précédent. Alors certes oui les sauvegardes fonctionnent … mais une sauvegarde ne vaut que si on peut la restaurer !

Or je n'ai jamais réussi à restaurer aucun fichier. J'ai https://bugs.launchpad.net/duplicity/+bug/1818355 ouvert un bug début mars, sans aucune réponse depuis.

Du coup je ne pense pas que ce soit corrigé dans la version qui vient de sortir, et pour tout dire je suis passé à autre chose, rclone. Initialement la restauration ne marchait pas non plus, à cause de la non prise en compte du délai d'unfreeze. J'ai également https://github.com/ncw/rclone/issues/3041 ouvert un bug début mars, et le moins que l'on puisse dire c'est qu'il n'y a pas photo, en 15 jours la restauration avec gestion du délai d'attente fonctionnait, et j'utilise Rclone depuis.

Alors certes je n'ai pas la sauvegarde incrémentale de Duplicity, mais au moins j'ai une sauvegarde que je peux restaurer.

Salut Thierry,

Je me permet de te répondre à ton problème (s'il est toujours d'actualité), et pour conserver une trace sur le net.

Dans le ticket que tu as ouvert, la commande utilisée pour faire la restauration ne précise pas les paramètres de "prefix" que tu as normalement utilisés pour faire la sauvegarde :

```
duplicity <br />–file-prefix-manifest 'hot_' <br />–file-prefix-signature 'hot_' <br />–file-prefix-archive 'cold_' <br />…
```
Ces paramètres sont combinés au fichier `config.json` pour indiquer sur quel serveur se trouvent les fichiers (manifeste, signature, archive…). Voir le manuel de duplicity :

> Filename prefixes can be used in multi backend with mirror mode to define affinity rules

L'erreur remontée `No backup chains found` est la conséquence de ces informations manquantes : comme l'appli ne sait pas où retrouver ses fichiers, elle tombe en erreur en indiquant ne pas réussir à construire la chaîne de sauvegarde.

C'est dommage qu'OVH n'ait pas indiqué dans sa page comment restaurer une sauvegarde, mais je te confirme que cela fonctionne correctement.