पाइप के माध्यम से संपीड़ित करने के लिए 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 फ़ाइल के अलावा अस्थायी फ़ाइलें बनाना अच्छा नहीं है, क्योंकि अगर मुझे 180 GByte FS पर ~ 100 GByte आकार की फ़ाइलों / निर्देशिकाओं को संपीड़ित करने की आवश्यकता है, तो मेरे पास पर्याप्त खाली स्थान नहीं होगा (यदि पूर्व: संपीड़ित फ़ाइल ~ 60 ले जाएगी Gbyte)।

जवाबों:


6

क्या कोई कारण है जिसे आप 7zविशेष रूप से उपयोग करना चाहते हैं , या क्या आप केवल बेहतर संपीड़न चाहते हैं gzip?

xzउपयोगिता के रूप में ही संपीड़न एल्गोरिथ्म का उपयोग करता है 7z(LZMA), और पाइप संपीड़न के रूप में ही की अनुमति देता है gzip

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

कारण जो मुझे व्यक्तिगत रूप से विशेष रूप से 7z की आवश्यकता थी, वह कई संस्करणों में विभाजित करने की क्षमता है
10

1
xz उस समय बहु-थ्रेडेड नहीं था (यह अभी तक नहीं हो सकता है) इसलिए मल्टी-कोर कंप्यूटर पर यह 7z से बहुत धीमा हो सकता है
Xen2050

25

यह 7z के मैन पेज में शामिल है:

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

क्या मैं एक "डाल सकता हूँ।" और आगे 7z के बाद यह प्रक्रिया?
गास्को पेटर

4
आप -soफ़ाइल के बजाय stdout पर संपीड़ित डेटा को डंप करने के लिए उपयोग कर सकते हैं ।
विआलैंड

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   

कारण यह है कि मैं अपने 'घर' रूट का बैकअप नहीं लेता, क्योंकि मैं विशेष रूप से सिंक करता हूं और केवल कुछ निर्देशिकाएं भेजता हूं। ध्यान दें कि कैसे सीपीओ को छोड़ देगा और पुनर्स्थापना पर नई मौजूदा फ़ाइलों की जांच करेगा। यह शक्तिशाली है। आपका काम ओवरराइट नहीं किया जाएगा।

कली @


-1

बस इसे काम करने के लिए मिला, 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 बाइट्स (47 जीबी)

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.