Dọn dẹp tệp tạm thời ~ / .cache / trùng lặp / tạm thời không thành công


12

Thông thường khi tôi chạy Sao chép, tôi thấy một thông báo lỗi như thế này ở cuối quá trình chạy:

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

Thư mục được đề cập sẽ chứa mười hoặc nhiều tệp bị xóa trong lần tiếp theo tôi chạy Sao chép.

Bất cứ ý tưởng tại sao điều này đôi khi thất bại khi chạy sao lưu gia tăng? Bản thân tôi chưa thấy bất kỳ khuôn mẫu nào và đã gặp rất ít may mắn khi tìm thấy những người khác đề cập đến vấn đề tương tự. Một số anh chàng trong một số danh sách gửi email đã từng đề cập rằng địa phương của anh ta gây ra vấn đề cho Bản sao. Tôi đã thử thay đổi từ miền địa phương Na Uy bình thường của tôi sang en-US, nhưng vẫn thấy vấn đề.

Đây có phải chỉ là hoạt động bình thường cho trùng lặp?

Nhìn thấy nó trên ba hệ thống khác nhau: hai máy tính để bàn Ubuntu 13.04 64 bit và một máy chủ Ubuntu 13.04 64 bit.


Tôi cũng gặp vấn đề này kể từ khi chuyển công việc cron trùng lặp của mình được thực hiện bằng root thay vì người dùng sudo. Tôi tự hỏi nếu bằng cách nào đó trùng lặp không có khả năng xóa các tệp tạm thời mà nó tạo ra trong khi chạy một tập lệnh được ghi lại từ người dùng root?
Lonniebiz

Tôi vẫn hy vọng câu trả lời ở đây.
Lonniebiz

Bạn đã cài đặt GunPG chưa? Tôi gặp vấn đề tương tự (trên OS X) cho đến khi tôi cài đặt các công cụ GPG.
Cédric

Câu trả lời:


1

Điều này có thể xảy ra nếu trước đây bạn đã chạy duplicitybằng root. Các tệp sẽ thuộc về người dùng root và do đó không thể bị xóa bởi người dùng không có đặc quyền. Chỉ cần thay đổi chủ sở hữu của các tệp sẽ khắc phục điều này, nếu đây là trường hợp:

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

0

Bản sao được cấu hình đúng không nên làm điều đó.

Bạn có thể thấy các bước này hữu ích: Sao chép

Tôi biết bạn đang sử dụng Ubuntu, nhưng tôi không thể tìm thấy bất kỳ nguồn phù hợp nào cho bạn. Nó nên là phổ quát.


0

Có thể thử sửa đổi /usr/lib/python2.7/dist-packages/duplicity/tempdir.py(hoặc bất cứ nơi nào tệp đó có trong hệ thống của bạn) để thêm một trình xử lý ngoại lệ cụ thể hơn, có vẻ như chỉ thực hiện điều này:

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

Một trình xử lý lỗi cụ thể hơn được thêm vào trước đó có thể thử và hiển thị số lỗi cụ thể hơn:

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

Chạy nó bên dưới stracesẽ hiển thị lỗi của unlinkcuộc gọi, nhưng có thể sẽ chậm hơn và lãng phí rất nhiều dung lượng đĩa cho nhật ký, đặc biệt. đưa ra bản chất của những gì trùng lặp làm.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.