Échec du nettoyage du fichier temporaire ~ / .cache / duplicity / temp

12

Souvent, lorsque j'exécute Duplicity, je vois un message d'erreur comme celui-ci à la fin de l'analyse:

Cleanup of temporary file /home/user/.cache/duplicity/9a169830d41477b2dbc3c5b32edd4e8a/duplicity-MEXhMY-tempdir/mktemp-StAkzj-1 failed

Le répertoire mentionné contiendra une dizaine de fichiers qui seront supprimés la prochaine fois que j'exécuterai Duplicity.

Une idée pourquoi cela échoue parfois lors de l'exécution de sauvegardes incrémentielles? Je n'ai pas vu de modèle moi-même et j'ai eu peu de chance d'en trouver d'autres mentionnant le même problème. Un gars sur une liste de diffusion a mentionné que son environnement local avait causé des problèmes à Duplicity. J'ai essayé de passer de mon environnement norvégien de bokmål normal à en-US, mais je vois toujours le problème.

Est-ce un fonctionnement normal pour Duplicity?

Le voir sur trois systèmes différents: deux bureaux Ubuntu 13.04 64 bits et un Ubuntu Server 13.04 64 bits.

Aeyoun
la source
J'ai aussi ce problème depuis le déplacement de mon travail cron de duplicité à effectuer par root au lieu d'un utilisateur sudo. Je me demande si la duplicité n'a pas la possibilité de supprimer les fichiers temporaires qu'elle crée lors de l'exécution d'un script copié à partir de l'utilisateur root?
Lonniebiz
J'espère toujours une réponse ici.
Lonniebiz
Avez-vous installé GunPG? J'ai eu le même problème (sous OS X) jusqu'à ce que j'aie installé les outils GPG.
Cédric

Réponses:

1

Cela peut se produire si vous avez déjà exécuté en duplicitytant que root. Les fichiers appartiendront à l'utilisateur root et ne pourront donc pas être supprimés par un utilisateur non privilégié. Le simple fait de changer le propriétaire des fichiers corrigera le problème, si c'est le cas:

$ sudo chmod -R user /home/user/.cache/duplicity/
Kusalananda
la source
0

Duplicity correctement configuré ne devrait pas faire cela.

Vous pourriez trouver ces étapes utiles: Duplicité

Je sais que vous êtes sur Ubuntu, mais je ne trouve aucune source appropriée pour vous. Cela devrait être universel.

LinuxSecurityFreak
la source
0

Essayez peut-être de modifier /usr/lib/python2.7/dist-packages/duplicity/tempdir.py(ou partout où ce fichier se trouve sur votre système) pour ajouter un gestionnaire d'exceptions plus spécifique, il semble faire juste ceci:

except Exception:
    log.Info(_("Cleanup of temporary file %s failed") % util.ufn(file))
pass

Un gestionnaire d'erreurs plus spécifique ajouté devant cela pourrait essayer d'afficher le numéro d'erreur plus spécifique:

except OSError as ex:
    log.Info(_("Cleanup of temporary file %s failed with errno %d") % (util.ufn(file), ex.errno))
pass

L'exécuter sous straceafficherait le unlinknuméro d' erreur de l' appel, mais serait probablement plus lent et gaspillerait beaucoup d'espace disque pour le journal, en particulier. étant donné la nature de ce que fait la duplicité.

Josip Rodin
la source