Pembersihan file sementara ~ / .cache / dupity / temp gagal


12

Seringkali ketika saya menjalankan Duplicity saya melihat pesan kesalahan seperti ini di akhir proses:

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

Direktori yang disebutkan akan berisi sekitar sepuluh file yang dihapus saat berikutnya saya menjalankan Duplicity.

Adakah yang tahu mengapa ini terkadang gagal saat menjalankan pencadangan tambahan? Saya sendiri belum melihat pola apa pun, dan kurang beruntung menemukan orang lain yang menyebutkan masalah yang sama. Seorang pria dalam daftar email pernah menyebutkan bahwa lokalnya menyebabkan masalah bagi Duplicity. Saya mencoba mengubah dari lokasi normal bokmål Norwegia saya menjadi en-US, tetapi masih melihat masalahnya.

Apakah ini hanya operasi normal untuk Duplicity?

Melihatnya di tiga sistem yang berbeda: dua desktop Ubuntu 13,04 64-bit dan satu Server Ubuntu 13,04 64-bit.


Saya mengalami masalah ini juga karena memindahkan pekerjaan dupron cron saya dilakukan oleh root alih-alih pengguna sudo. Saya bertanya-tanya apakah entah bagaimana duplikat tidak memiliki kemampuan untuk menghapus file temp yang dibuatnya saat menjalankan skrip yang dikodekan dari pengguna root?
Lonniebiz

Saya masih berharap jawaban di sini.
Lonniebiz

Apakah Anda menginstal GunPG? Saya memiliki masalah yang sama (pada OS X) sampai saya menginstal alat GPG.
Cédric

Jawaban:


1

Ini dapat terjadi jika sebelumnya Anda menjalankan duplicitysebagai root. File-file tersebut akan menjadi milik pengguna root dan karenanya tidak dapat dihapus oleh pengguna yang tidak memiliki hak pribadi. Cukup dengan mengubah pemilik file akan memperbaikinya, jika ini masalahnya:

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

0

Duplicity yang dikonfigurasi dengan benar seharusnya tidak melakukan itu.

Anda mungkin menemukan langkah-langkah ini berguna: Duplicity

Saya tahu Anda berada di Ubuntu, tetapi saya tidak dapat menemukan sumber yang cocok untuk Anda. Itu harus universal.


0

Mungkin mencoba memodifikasi /usr/lib/python2.7/dist-packages/duplicity/tempdir.py(atau di mana pun file itu berada di sistem Anda) untuk menambahkan penangan pengecualian yang lebih spesifik, sepertinya hanya melakukan ini:

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

Penangan kesalahan yang lebih spesifik ditambahkan di depan yang dapat mencoba dan menunjukkan nomor kesalahan yang lebih spesifik:

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

Menjalankannya di bawah straceakan menunjukkan kesalahan unlinkpanggilan, tetapi kemungkinan akan lebih lambat dan membuang banyak ruang disk untuk log, esp. mengingat sifat dari apa yang dilakukan oleh bermuka dua.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.