การล้างไฟล์ชั่วคราว ~ / .cache / ซ้ำ / temp ล้มเหลว


12

บ่อยครั้งเมื่อฉันเรียกใช้ Duplicity ฉันเห็นข้อความแสดงข้อผิดพลาดเช่นนี้เมื่อสิ้นสุดการเรียกใช้:

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

ไดเรกทอรีที่กล่าวถึงจะมีไฟล์สิบไฟล์หรือมากกว่านั้นซึ่งจะถูกลบในครั้งต่อไปที่ฉันเรียกใช้ Duplicity

มีความคิดใดที่ทำให้บางครั้งล้มเหลวเมื่อเรียกใช้การสำรองข้อมูลเพิ่มเติม ฉันไม่ได้เห็นรูปแบบของตัวเองและมีโชคเล็กน้อยในการค้นหาผู้อื่นที่พูดถึงเรื่องเดียวกัน ผู้ชายบางคนในรายการส่งอีเมลบางครั้งเคยกล่าวว่าสถานที่ของเขาทำให้เกิดปัญหาซ้ำซ้อน ฉันลองเปลี่ยนจากภาษานอร์เวย์bokmålปกติเป็น en-US แต่ก็ยังเห็นปัญหาอยู่

นี่เป็นการดำเนินการปกติสำหรับ Duplicity หรือไม่

เห็นมันในสามระบบที่แตกต่าง: สอง Ubuntu 13.04 64- บิตเดสก์ท็อปและหนึ่ง Ubuntu Server 13.04 64- บิต


ฉันมีปัญหานี้เช่นกันเนื่องจากย้ายงาน cron ซ้ำซ้อนเพื่อให้ดำเนินการโดยรูทแทนที่จะเป็นผู้ใช้ sudo ฉันสงสัยว่าความซ้ำซ้อนอย่างใดไม่มีความสามารถในการลบไฟล์ temp ที่สร้างขึ้นในขณะที่เรียกใช้สคริปต์ croned จากผู้ใช้รูท?
Lonniebiz

ฉันยังคงหวังคำตอบที่นี่
Lonniebiz

คุณติดตั้ง GunPG หรือไม่? ฉันมีปัญหาเดียวกัน (ใน OS X) จนกว่าฉันจะติดตั้งเครื่องมือ GPG
Cédric

คำตอบ:


1

สิ่งนี้อาจเกิดขึ้นหากคุณเคยเรียกใช้duplicityในฐานะรูท ไฟล์จะเป็นของผู้ใช้รูทและไม่สามารถลบได้โดยผู้ใช้ที่ไม่มีสิทธิพิเศษ เพียงแค่เปลี่ยนเจ้าของไฟล์จะแก้ไขปัญหานี้ในกรณีนี้:

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

0

Duplicity ที่กำหนดค่าอย่างเหมาะสมไม่ควรทำเช่นนั้น

คุณอาจพบว่าขั้นตอนเหล่านี้มีประโยชน์: ซ้ำซ้อน

ฉันรู้ว่าคุณอยู่บน Ubuntu แต่ฉันไม่พบแหล่งที่เหมาะสมสำหรับคุณ มันควรจะเป็นสากล


0

อาจลองแก้ไข/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โทร แต่น่าจะช้ากว่าและเปลืองพื้นที่ดิสก์จำนวนมากสำหรับบันทึก เนื่องจากธรรมชาติของสิ่งที่ซ้ำซ้อน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.