Boru ile sıkıştırmak için 7z nasıl kullanılır?


16

Bunu güvenli bir şekilde yedek oluşturmak için kullanıyorum (? - gerçekten güvenli mi? İyi bir şifre ile?):

# 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 -

S: Ama bunu maksimum sıkıştırma oranıyla 7z kullanarak nasıl yapabilirim?

Yalnızca OUTPUT dosyasının yanında geçici dosyalar oluşturmak iyi değildir, çünkü 180 GByte FS'de ~ 100 GByte boyutlu dosyaları / dizinleri sıkıştırmam gerekirse yeterli boş alana sahip olmazdım (örneğin: sıkıştırılmış dosya ~ 60 GByte).

Yanıtlar:


6

7zÖzellikle kullanmak istediğiniz bir neden var mı , yoksa sadece daha iyi bir sıkıştırma gzipmı istiyorsunuz ?

Yardımcı xzprogram 7z(LZMA) ile aynı sıkıştırma algoritmasını kullanır ve borulu sıkıştırmaya aynı şekilde izin verir gzip.

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

Kişisel olarak özellikle
7z'ye

1
xz o zaman çok iş parçacıklı değildi (henüz olmayabilir), bu nedenle çok çekirdekli bir bilgisayarda
7z'den

25

Bu, 7z'nin man sayfasında ele alınmıştır:

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

"|" ve daha sonra 7z sonra işlemek?
gasko peter

4
-soSıkıştırılmış verileri bir dosya yerine stdout'a dökmek için kullanabilirsiniz .
Wieland

1

Hızlı bir şekilde tüm ev komut dosyalarımı uzaktan yedekleme hazırlık dosyası oluşturmak için.

# 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   

Neden 'ana' kökümü yedeklemem, özellikle bazı dizinleri senkronize etmem ve göndermemdir. CPIO'nun nasıl atlayacağına ve geri yükleme sırasında mevcut daha yeni dosyaları kontrol edeceğine dikkat edin. Bu güçlü. Çalışmanızın üzerine yazılmayacak.

tomurcuk @


-1

sadece pgdumpall7zip dosyasına postgres çalışmasını sağladı: set pgpassword=xxxxxkomut vermeden önce kullanın:

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

sadece dökülmüş ve sıkıştırılmış almak için 4 gün sürdü! 50201104790 bayt (47 GB)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.