一時ファイルをクリーンアップできませんでした~/.cache/duplicity/temp

一時ファイルをクリーンアップできませんでした~/.cache/duplicity/temp

通常、Duplicity を実行しているときに実行が終了すると、次のエラー メッセージが表示されます。

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

上記のディレクトリには約10個のファイルが含まれており、次にDuplicityを実行すると削除されます。

増分バックアップの実行が時折失敗する理由をご存知ですか?私自身にはどのようなパターンも見えず、同じ問題に言及している他の人を見つけることもできません。電子メールリストの誰かが自分の地域が二重性の問題を引き起こしていると述べたことがあります。一般的なノルウェー語のBokmålロケールからen-USに変更してみましたが、まだ問題が発生しています。

これは二重性の正常な動作ですか?

3つの異なるシステム(Ubuntu 13.04 64ビットデスクトップ2台とUbuntu Server 13.04 64ビットデスクトップ1台)で確認しました。

答え1

以前にrootとして実行した場合、これが発生する可能性がありますduplicity。これらのファイルはrootユーザーに属するため、権限のないユーザーは削除できません。この場合、ファイル所有者を変更すると問題が解決します。

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

答え2

より具体的な例外ハンドラを追加するために、修正/usr/lib/python2.7/dist-packages/duplicity/tempdir.py(またはそのファイルがシステム上にある場所)を試すこともできます。次のようなことをしているようです。

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

より具体的なエラーハンドラを前に追加すると、より具体的なエラー番号を表示できます。

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

以下で実行すると、strace呼び出しのエラー番号が表示されますが、unlink速度が遅くなり、ログの多くのディスク容量が無駄になる可能性があります。二重性の性質を考慮してください。

関連情報