7zを使ってパイプを通して圧縮する方法は?

7zを使ってパイプを通して圧縮する方法は?

私はこれを使って安全にバックアップを作成します(? - 本当に安全ですか?良いパスワードがありますか?):

# 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と最大圧縮を使用してこれを行うには?

唯一の出力ファイルに加えて一時ファイルを生成することはお勧めできません。 180 GB FS で ~100 GB サイズのファイル/ディレクトリを圧縮する必要がある場合は、空き容量が不足しているためです (たとえば、ファイルを圧縮する場合は ~60,000 MB 必要)。

ベストアンサー1

7z のマニュアルページでは、次のように説明します。

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

おすすめ記事