Bereinigung der temporären Datei ~ / .cache / duplicity / temp fehlgeschlagen


12

Wenn ich Duplicity ausführe, wird am Ende des Laufs oft die folgende Fehlermeldung angezeigt:

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

Das erwähnte Verzeichnis enthält ungefähr zehn Dateien, die beim nächsten Ausführen von Duplicity gelöscht werden.

Irgendeine Idee, warum dies manchmal fehlschlägt, wenn inkrementelle Sicherungen ausgeführt werden? Ich habe selbst kein Muster dafür gesehen und wenig Glück gehabt, andere zu finden, die das gleiche Thema erwähnen. Ein Typ auf einer E-Mail-Liste erwähnte einmal, dass sein Gebietsschema Probleme für Duplicity verursachte. Ich habe versucht, von meinem normalen norwegischen Bokmål-Gebietsschema nach en-US zu wechseln, sehe aber immer noch das Problem.

Ist dies nur ein normaler Vorgang für Duplicity?

Anzeigen auf drei verschiedenen Systemen: zwei Ubuntu 13.04 64-Bit-Desktops und ein Ubuntu Server 13.04 64-Bit.


Ich habe auch dieses Problem, da mein Duplicity-Cron-Job von root anstelle eines sudo-Benutzers ausgeführt wird. Ich frage mich, ob Duplicity nicht in der Lage ist, die temporären Dateien zu löschen, die es erstellt, während ein Skript ausgeführt wird, das vom Root-Benutzer erstellt wurde.
Lonniebiz

Ich hoffe immer noch auf eine Antwort hier.
Lonniebiz

Hast du GunPG installiert? Ich hatte das gleiche Problem (unter OS X), bis ich GPG-Tools installiert habe.
Cédric

Antworten:


1

Dies kann vorkommen, wenn Sie zuvor duplicityals root ausgeführt haben. Die Dateien gehören dem Root-Benutzer und können daher nicht von einem nichtprivilegierten Benutzer entfernt werden. Das einfache Ändern des Eigentümers der Dateien behebt dies, wenn dies der Fall ist:

$ sudo chmod -R user /home/user/.cache/duplicity/

0

Richtig konfigurierte Duplicity sollten das nicht tun.

Diese Schritte sind möglicherweise hilfreich: Duplizität

Ich weiß, dass Sie auf Ubuntu sind, aber ich kann keine geeignete Quelle für Sie finden. Es sollte universell sein.


0

Versuchen Sie vielleicht /usr/lib/python2.7/dist-packages/duplicity/tempdir.py, eine speziellere Ausnahmebehandlungsroutine hinzuzufügen (oder wo immer sich diese Datei auf Ihrem System befindet).

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

Ein spezifischerer Fehlerbehandler, der davor hinzugefügt wurde, könnte versuchen, die spezifischere Fehlernummer anzuzeigen:

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

straceWenn Sie es unter ausführen, wird die Fehlernummer des unlinkAufrufs angezeigt , dies ist jedoch wahrscheinlich langsamer und verschwendet viel Speicherplatz für das Protokoll, insbesondere. angesichts der Natur dessen, was Duplizität tut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.