สำรองข้อมูลเพิ่มเติมด้วย 7zip


17

ฉันค้นหาและค้นหา googled แล้ว แต่ไม่พบคำสั่งที่ยูทิลิตีบรรทัดคำสั่ง 7zip ใช้สำหรับการสำรองข้อมูลเพิ่มเติม ดังนั้นใครบางคนได้โปรดแบ่งปันคำสั่ง?

ขอบคุณ

ครับผมพบลิงค์นี้: http://wmug.co.uk/wmug/b/sean/archive/2009/03/20/powershell-amp-7zip-incremental-backup-solution.aspx แต่ดูเหมือนว่าจะเป็นการสำรองข้อมูลที่แตกต่างกันแม้ว่ามันจะบอกว่าเพิ่มขึ้น

คำตอบ:


11

ควรเป็นเรื่องง่ายใช้สิ่งนี้เพื่อสร้างและอัปเดตไฟล์เก็บถาวรเพิ่มเติม:

7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}

หน้านี้มีการอ้างอิงสำหรับตัวเลือกการอัพเดท

พวกเขาแปลดังนี้:

  • p0 - หาก "ไฟล์มีอยู่ในไฟล์เก็บถาวร แต่ไม่ตรงกับอักขระตัวแทน" ให้ลบไฟล์ออกจากไฟล์เก็บถาวร
  • q3- หาก "ไฟล์ที่มีอยู่ในการเก็บ แต่ไม่ได้อยู่บนดิสก์" แล้วลบไฟล์จากที่เก็บและนำออกจากระบบแฟ้มเมื่อสกัด
  • r2 - หาก "ไฟล์ไม่มีอยู่ในไฟล์เก็บถาวร แต่มีอยู่บนดิสก์" ให้บรรจุไฟล์ลงในไฟล์เก็บถาวร
  • x2 - หาก "ไฟล์ในไฟล์เก็บถาวรเป็นไฟล์ใหม่กว่าไฟล์บนดิสก์" ให้เก็บไฟล์เก่าลงในไฟล์เก็บถาวร
  • y2 - หาก "ไฟล์ในที่เก็บถาวรเก่ากว่าไฟล์บนดิสก์" ให้ทำการจัดเก็บไฟล์ใหม่ลงในไฟล์เก็บถาวร
  • z1 - หาก "ไฟล์ในไฟล์เก็บถาวรเหมือนกับไฟล์บนดิสก์" ให้ใช้ไฟล์เวอร์ชันที่จัดเก็บใหม่
  • w2 - หากขนาดไฟล์แตกต่างกันให้แพ็คไฟล์ที่แก้ไขแล้วลงในไฟล์เก็บถาวร

สวัสดีตัวเลือกมากมายเหล่านั้นมีความหมายว่าอย่างไร?
Zhianc

มันเป็นแผนที่จากสถานะไฟล์ไปสู่การกระทำ มีเจ็ดรัฐที่เป็นไปได้
ArtemGr

3
มันไม่ใช่การสำรองข้อมูลที่เพิ่มขึ้น คำสั่งนี้สร้างการสำรองข้อมูลส่วนต่างและสร้างไฟล์เก็บถาวรใหม่พร้อมการเปลี่ยนแปลงนับตั้งแต่การสำรองข้อมูลเต็มรูปแบบครั้งล่าสุด การสำรองข้อมูลที่เพิ่มขึ้นจะติดตามการเปลี่ยนแปลงนับตั้งแต่การสำรองข้อมูลส่วนเพิ่มก่อนหน้านี้ (ต่างจาก diff)
สไตล์

ฉันคิดว่านี่เป็นสิ่งที่ผิดธรรมดาเพราะมันแค่อัปเดตไฟล์เก็บถาวร 7z เกือบจะเหมือนกับการสร้างไฟล์เก็บถาวรใหม่ แต่เร็วขึ้นเล็กน้อยเพราะจะนำมาใช้ซ้ำ คำตอบของ Javier ด้านล่างดูเหมือนจะแตกต่าง
Tuntable

เมื่อไฟล์เก็บถาวรมีขนาดใหญ่และการเพิ่มขึ้นทีละน้อย " บิตเร็ว " นั้นค่อนข้างมาก การไม่บรรจุหีบห่อใหม่ทั้งหมดเป็นหนึ่งในจุดสำรองที่เพิ่มขึ้น นอกจากนี้นี่ไม่ใช่การสำรองข้อมูลส่วนต่าง: เรากำลังอัปเดตไฟล์เก็บถาวรหลักและไม่เก็บข้อมูลส่วนต่างในไฟล์เก็บถาวรแยกต่างหาก หากคุณชอบโซลูชันอื่น ๆ มากขึ้นอย่าลังเลที่จะกำจัดพวกเขามีวิธีหนึ่งที่จะทำให้แมวเป็นที่รักได้
ArtemGr

8

หากคุณทำการสำรองข้อมูลแบบเพิ่มเติมคุณจะต้องระบุรายการไฟล์ที่ถูกแก้ไข (ด้วย-i@fileList) 7-zip และคุณจะต้องทำรายละเอียดของรายการดังกล่าวอย่างใด ที่ไฟล์เก็บถาวร.orgของคำถามที่ถูกลบการสำรองข้อมูลส่วนเพิ่มเติมออฟไลน์ผ่าน thumbdriveคุณสามารถค้นหาบรรทัดคำสั่ง Unix โดยใช้ลายเซ็น md5 เพื่อสร้างรายการไฟล์

การดำเนินการอัพเดต 7-zip อนุญาตให้สร้างไฟล์เก็บถาวรสำรองที่มีความแตกต่าง (รวมถึงไฟล์ที่ถูกลบ) ที่เกิดขึ้นตั้งแต่ไฟล์เก็บถาวรฐาน / หลัก มีการสำรองข้อมูลส่วนต่างอย่างเหมาะสม (ตามที่ระบุในคำถาม)

ฉันได้พบบทความที่ดีเกี่ยวกับหัวข้อนี้ที่WPCTips "การสำรองข้อมูลที่แตกต่างกันมี 7-Zip" (ที่เก็บไว้) พวกเขาแนะนำให้ใช้โปรแกรม GUI (Toucan) หรือใช้สูตรนี้สำหรับบรรทัดคำสั่ง:

7z u {base archive.7z} -u- -"up0q3r2x2y2z0w2!{differential.7z}" {folder to archive}

สิ่งนี้แตกต่างจาก7zr u -up0q3r2x2y2z1w2 {archive}.7z {path}ArtemGr ที่นำเสนอ:

  • -u- บอกว่าไม่ควรแก้ไขไฟล์เก็บถาวรหลัก
  • "-up0q3r2x2y2z0w2!{differential.7z}"ระบุเป้าหมายการเก็บข้อมูลส่วนต่างเป้าหมายและการดำเนินการที่ต้องทำสำหรับแต่ละไฟล์สำหรับแต่ละเงื่อนไข / สถานะ: เพิ่มไฟล์ที่เป็นไฟล์ใหม่หรือที่แก้ไขในระบบไฟล์ลบไฟล์ที่อยู่ในไฟล์เก็บถาวร 7zip เท่านั้นไม่สนใจส่วนที่เหลือ
    ขอให้สังเกตว่า "!" ตัวละครจะถูกดักโดยbashถ้ามันถูกยกมา

ในกรณีที่คุณอยากรู้เกี่ยวกับลักษณะเฉพาะของความลับนั้น p0q3r2x2y2z0w2

<state> | State condition
p | File exists in archive, but is not matched with wildcard.   Exists, but is   not matched 
q | File exists in archive, but doesn't exist on disk.
r | File doesn't exist in archive, but exists on disk.
x | File in archive is newer than the file on disk.
y | File in archive is older than the file on disk.
z | File in archive is same as the file on disk
w | Can not be detected what file is newer (times are the same, sizes are different)

<action> | Description 
0 | Ignore file (don't create item in new archive for this file) 
1 | Copy file (copy from old archive to new) 
2 | Compress (compress file from disk to new archive) 
3 | Create Anti-item (item that will delete file or directory during extracting). This feature is supported only in 7z format. 

2
ขอบคุณสำหรับคำตอบ Javier และยินดีต้อนรับสู่ Super User มีนโยบายที่นี่ในการสรุปลิงก์ในกรณีที่พวกเขาหายไป - คุณสามารถอธิบายวิธีการที่คำสั่งประสบความสำเร็จในการสำรองข้อมูลที่เพิ่มขึ้น? (โดยเฉพาะup0q3r2x2y2z0w2ส่วน!) ขอบคุณ :-)
bertieb

1
@bertieb ขอบคุณสำหรับคำแนะนำ ฉันหวังว่ามันชัดเจนยิ่งขึ้นในตอนนี้
Javier

1
@DanielSokolowski ไม่แน่ใจว่านี่จะตอบคำถามของคุณหรือไม่ หากคุณทำการสำรองข้อมูลส่วนเพิ่ม (A + b + c + d) คุณจะต้องแยกข้อมูลจากแต่ละไฟล์เก็บถาวรตามลำดับที่คุณทำ หากคุณสำรองข้อมูลต่างกัน (A + (b + c + d)) มันเป็น 2 คลังเก็บที่คุณต้องแยก น่าจะดีที่ไฟล์เก็บถาวรสุดท้ายมีข้อมูลเกี่ยวกับไฟล์เก็บถาวรก่อนหน้าและลำดับการแยกดังนั้นการแตกไฟล์สามารถทำได้ด้วยคำสั่งเดียว แต่ฉันไม่ได้ตระหนักถึงคุณสมบัติดังกล่าว
Javier

1
บทความที่คุณแบ่งปันไม่เปิด @Javier
alper

1
ขอบคุณ @alper Archive.org มีภาพรวมของ extint บทความ WPC เคล็ดลับบางอย่างที่web.archive.org/web/20160822111118/http://www.wpctips.com:80/... ฉันเดาว่าฉันจะต้องแก้ไขคำตอบ
Javier

4

คุณสามารถสำรองข้อมูลเพิ่มเติมได้อย่างง่ายดายผ่านการเปลี่ยนทิศทางในเวลา นั่นคือคุณจะทำการสำรองข้อมูลล่าสุดเป็นสำเนาแบบเต็มและเก็บไฟล์ต่าง ๆ ไว้ในอดีต

# create the difference step into the past
7z u {base archive.7z} {folder to archive} -mx=9 -u- -up1q1r3x1y1z0w1!{decrement.7z}

# update the Archive to the latest files
7z u {base archive.7z} {folder to archive} -mx=9 -up0q0x2

คลังเก็บฐานประกอบด้วยรุ่นล่าสุดเสมอและผ่านการใช้ "การลดลง" ทีละขั้นตอนคุณสามารถสร้างรุ่นที่เก่ากว่าได้ ด้วยการเขียนสคริปต์เล็กน้อยคุณสามารถใช้หมายเลขที่ถูกต้องกับไฟล์ที่ลดลง


คุณช่วยอธิบายเรื่องนี้ได้มั้ย ฉันชอบที่จะเห็นตัวอย่างของการสร้างการสำรองข้อมูลปัจจุบันสำรองข้อมูล 1 วันที่ผ่านมาสำรอง 2 วันที่ผ่านมา จากนั้นเป็นตัวอย่างของการกู้คืนข้อมูลสำรอง '2 วันที่ผ่านมา'
Daniel Sokolowski

0

ในไฟล์แบตช์ที่เปิดใช้งานการขยายเวลาล่าช้าคุณต้องอ้างถึง "!" ด้วยสอง ^^ เช่นนี้

7z u {existing archive.7z} -u- -up0q3r2x2y2z0w2^^!{new differential.7z} {folder or files to archive}

เอาฉันสักครู่เพื่อดูอันนั้น

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