จะใช้ 7z ในการบีบอัดผ่านท่อได้อย่างไร?


16

ฉันใช้สิ่งนี้เพื่อสร้างการสำรองข้อมูลอย่างปลอดภัย (? - ปลอดภัยจริงหรือไม่ด้วยรหัสผ่านที่ดี?):

# ENCRYPT
ORIGDIR="DIRECTORYNAMEHERE"; tar cvf - "${ORIGDIR}/" 2>/dev/null | gzip -9 - 2>/dev/null | openssl aes-256-cbc -salt -out "${ORIGDIR}.tar.gz.aes"

# DECRYPT
openssl aes-256-cbc -d -salt -in "ENCDIRECTORYNAMEHERE" | tar -xz -f -

ถาม:แต่ฉันจะทำสิ่งนี้โดยใช้ 7z ด้วยอัตราการบีบอัดสูงสุดได้อย่างไร

การสร้างไฟล์ชั่วคราวนอกเหนือจากไฟล์ OUTPUT เพียงอย่างเดียวนั้นไม่ดีเพราะถ้าฉันต้องการบีบอัดไฟล์ / ไดเรกทอรีขนาด ~ 100 GByte บน 180 GByte FS ฉันจะไม่มีพื้นที่ว่างเพียงพอ (ถ้าเช่น: ไฟล์บีบอัดจะใช้เวลา ~ 60 GByte)

คำตอบ:


6

มีเหตุผลที่คุณต้องการใช้7zเฉพาะหรือคุณต้องการบีบอัดที่ดีกว่าgzipหรือไม่

xzยูทิลิตี้ใช้วิธีการบีบอัดเช่นเดียวกับ7z(LZMA) gzipและช่วยให้การบีบอัดประปาเช่นเดียวกับ

tar cvf ... | xz -9 | openssl ...

เหตุผลที่ฉันต้องการส่วนตัวโดยเฉพาะ 7z คือความสามารถในการแยกหลายเล่ม
Unirgy

1
xz ไม่ได้เป็นแบบมัลติเธรดในเวลานั้น (อาจยังไม่พอ) ดังนั้นในคอมพิวเตอร์แบบมัลติคอร์มันอาจช้ากว่า 7z มาก
Xen2050

25

นี่ครอบคลุมในหน้า man ของ 7z:

-si    Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)

ฉันสามารถใส่ "|" และดำเนินการเพิ่มเติมหลังจาก 7z หรือไม่
gasko peter

4
คุณสามารถใช้-soเพื่อดัมพ์ข้อมูลที่บีบอัดบน stdout แทนไฟล์
Wieland

1

หากต้องการสร้างไฟล์การเตรียมการสำรองข้อมูลระยะไกลอย่างรวดเร็วของสคริปต์โฮมทั้งหมดของฉันฉันใช้สิ่งต่อไปนี้:

# Scripts backup
ls ~/*.sh | cpio -ov | 7z a -si ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z
# Scripts restore
7z x -so ~/Documents/SCRIPT_BACKUP_30062017.cpio.7z | cpio -iv   

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

ตา@


-1

เพิ่งได้รับการทำงาน postgres pgdumpallเป็นไฟล์ 7zip: ใช้set pgpassword=xxxxxก่อนที่จะออกคำสั่ง:

pg_dumpall -U postgres | c:\"program files"\7-Zip\7z.exe a -si e:\directory\output.file.sqlc

ใช้เวลาเพียง 4 วันในการทิ้งและบีบอัด 50201104790 ไบต์ (47GB)

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