นั่นเพิ่งเกิดขึ้นกับฉัน ไดรฟ์ภายนอกของฉันเต็มครึ่งทางผ่านการสำรองข้อมูลที่เพิ่มขึ้นของ rsnapshot:
rsync: write failed on "<path>": No space left on device (28)
ตอนนี้ฉันต้องการแบ่งปันสองสิ่งที่ฉันเรียนรู้จากสิ่งนี้ คือการซ่อมแซมและ จำกัด โอกาสที่จะพิจารณากรณีเช่นนี้ที่จะกัดฉันกลับ;)
ทำการสำรองข้อมูลที่ขัดจังหวะโดย Rsnapshot ต่อ
ฉันรู้สองวิธีในการย้อนกลับอย่างปลอดภัย
ด้วยมือ
- ลบไดเรกทอรีสุดท้าย (เช่น daily.0)
- เปลี่ยนชื่อไดเรกทอรีที่ต่อเนื่องกัน (Daily.1 -> daily.0, ... ); สคริปต์ที่เป็นไปได้1
- เรียกใช้การสำรองข้อมูลตามปกติ (อีกครั้ง)
อัตโนมัติ
rsnapshot ไม่มีการหยุด / หยุดชั่วคราวและกลับมาทำงานต่อได้ (ยกเว้น " ข้ามเนื่องจากแผนย้อนกลับที่ จำกัด " 2 ) ดังนั้นเราจึงต้องใช้ wrapper เพื่อจัดการคุณสมบัติเหล่านี้
rsnapshot-once
3โดย Philipp C. Heckel เป็นเสื้อคลุมสำหรับ rsnapshot ใน PHP ที่:
- ทำงานได้โดยไม่ต้องปรับเปลี่ยนความเชื่อมั่นของ rsnapshot ของคุณ
- ตรวจสอบให้แน่ใจว่างานรายวันรายสัปดาห์และรายเดือนทำงานเพียงครั้งเดียวในช่วงเวลาที่เกี่ยวข้องผ่าน cron (เหมาะสำหรับแล็ปท็อป)
- การย้อนกลับของการสำรองข้อมูลล้มเหลว (ตรวจสอบว่าการสำรองข้อมูลครั้งล่าสุดเสร็จสมบูรณ์หรือไม่ถ้าไม่ใช่ไดเรกทอรีสุดท้ายจะถูกลบและมีการเปลี่ยนชื่อไดเรกทอรีที่อยู่ติดกันเช่น daily1 -> daily.0, ... )
ใช้งานเป็นเวลาหนึ่งปีฉันเป็นผู้ใช้ที่มีความสุข: ฉันแก้ไข php.ini openbase_dir
สำหรับความต้องการสำรองข้อมูลของฉันและ voila วันโชคดี ^ _ ^ ราบรื่นและปลอดภัยกว่าโซลูชันที่ใช้ rsnapshot ที่ผ่านมาของฉันก่อนหน้านี้
หมายเหตุ: slm เชื่อมโยงฉันที่นี่จากคำถามที่ซ้ำกัน: ปลายทาง Rsnapshot เต็ม - จะรันใหม่ได้อย่างปลอดภัยได้อย่างไร