ฉันจำเป็นต้องบีบอัดไดเรกทอรีที่มีไฟล์ขนาดเล็กประมาณ 350,000 ไฟล์ซึ่งมีทั้งหมด 100GB ฉันใช้ OSX และขณะนี้ใช้เครื่องมือ "บีบอัด" มาตรฐานที่แปลงไดเรกทอรีนี้เป็นไฟล์. zip มีวิธีที่เร็วกว่าในการทำเช่นนี้?
ฉันจำเป็นต้องบีบอัดไดเรกทอรีที่มีไฟล์ขนาดเล็กประมาณ 350,000 ไฟล์ซึ่งมีทั้งหมด 100GB ฉันใช้ OSX และขณะนี้ใช้เครื่องมือ "บีบอัด" มาตรฐานที่แปลงไดเรกทอรีนี้เป็นไฟล์. zip มีวิธีที่เร็วกว่าในการทำเช่นนี้?
คำตอบ:
สำหรับไดเรกทอรีฉันจะใช้tar
piped bzip2
กับการบีบอัดสูงสุด
วิธีง่ายๆในการไปคือ
tar cfj archive.tar.bz2 dir-to-be-archived /
วิธีนี้ใช้งานได้ดีหากคุณไม่ต้องการดึงไฟล์ขนาดเล็กออกจากไฟล์เก็บถาวร
และกำลังวางแผนที่จะแยกไฟล์ทั้งหมดเมื่อใดก็ตามที่ต้องการ
แต่ถ้าคุณทำต้องการที่จะได้รับชุดเล็ก ๆ ของไฟล์ออกไม่ได้เลวร้ายเกินไป
ฉันชอบเรียกไฟล์เก็บถาวรดังกล่าวfilename.tar.bz2
และแยกข้อมูลด้วยxfj
ตัวเลือก ''
ไพพ์อัดสูงสุดมีลักษณะดังนี้
tar cf - dir-to-be-archived / | bzip2 -9 -> archive.tar.bz2 # ^ pipe tarball จากที่นี่เพื่อ zip-in ^ ลงในไฟล์เก็บถาวร
หมายเหตุ: bzip2
วิธีการ '' และการบีบอัดข้อมูลเพิ่มเติมมีแนวโน้มที่จะช้ากว่าปกติgzip
จาก ' tar cfz
'
หากคุณมีเครือข่ายที่รวดเร็วและไฟล์เก็บถาวรจะถูกวางไว้ในเครื่องอื่น
คุณสามารถเร่งความเร็วด้วยไพพ์ข้ามเครือข่าย (ใช้สองเครื่องร่วมกันได้อย่างมีประสิทธิภาพ)
tar cf - dir / | ssh user @ server "bzip2 -9 -> /target-path/archive.tar.bz2" # ^ pipe tarball ผ่านเครือข่ายเพื่อ zip ^ และเก็บถาวรบนเครื่องระยะไกล
อ้างอิงบางอย่าง
Dennis
ผู้ชายคนนี้ทำการวิจัยเกี่ยวกับเรื่องนั้น ดูเหมือนว่าไฟล์. zip จะบีบอัดไฟล์ที่ใหญ่กว่าได้เร็วขึ้น อย่างไรก็ตามมันให้ขนาดการบีบอัดที่ใหญ่ที่สุดแห่งหนึ่ง ดูเหมือนว่าเขากำลังใช้ยูทิลิตี้ของ Windows อยู่ แต่ฉันคิดว่ายูทิลิตี้ของ OSX นั้นเกือบจะได้รับการปรับปรุงให้ดีที่สุด
นี่คือเว็บไซต์ที่ยอดเยี่ยมที่ยูทิลิตี้การบีบอัดจำนวนมากได้รับการกำหนดมาตรฐานสำหรับความเร็วเหนือไฟล์จำนวนมาก มีการทดสอบอื่น ๆ อีกมากมายในเว็บไซต์ที่คุณสามารถดูเพื่อกำหนดยูทิลิตี้ที่ดีที่สุดสำหรับคุณ
ความเร็วส่วนใหญ่เกี่ยวข้องกับโปรแกรมที่คุณใช้ ฉันใช้ยูทิลิตี้ของ 7zip สำหรับ Windows และฉันคิดว่ามันเร็วมาก อย่างไรก็ตามการบีบอัดไฟล์จำนวนมากใช้เวลานานไม่ว่าอะไรจะเกิดขึ้น หรือคุณอาจจะทิ้งไว้ทั้งหมดและไม่บีบอัดมัน ... โดยส่วนตัวแล้วฉันเกลียดการขยายไฟล์เก็บถาวรขนาดใหญ่ดังนั้นฉันจะระวังถ้านั่นคือสิ่งที่คุณต้องการจะทำ
ฉันชอบที่จะใช้
tar cf - dir-to-be-archived/ | bzip2 -9 - > archive.tar.bz2
สำหรับการย้ายไฟล์ไปยังเซิร์ฟเวอร์อื่นและครอบคลุมในเวลาเดียวกัน