簡體   English   中英

是否可以使用 cli 工具在 .zip 壓縮標准輸入到標准 output 中指定一個文件名?

[英]Is it possible to specify a file name inside .zip archive compressing standard input to standard output using cli tools?

我正在嘗試找到一種方法來指定 compressed.zip 存檔中的文件名,同時將其從標准輸入壓縮為標准 output。我想在不創建臨時文件的情況下實現它。

目前我有一個創建 mysqldump 的示例腳本,將結果作為輸入傳遞給 zip 命令並將 stream 輸出到 aws s3 命令以將結果保存到 S3。

這是示例:

mysqldump ... | zip | aws s3 cp - s3://[bucket_name]/output.sql.zip

問題是 zip 默認情況下在 zip 存檔中保存一個名為“-”的文件。

也許有一種方法可以使用 zip 命令或任何其他 zip 庫在存檔中傳遞特定文件名?

最近的 Linux 發行版有一個streamzip腳本,我編寫它來處理這個用例。 在下面的示例中, -member命令行選項將流式壓縮文件中的成員設置為data.sql

mysqldump ... | streamzip -member data.sql | aws s3 cp - s3://[bucket_name]/output.sql.zip

如果mysqldump大於 4G,請在streamzip中包含-zip64選項。

如果您沒有可用的streamzip ,請從https 下載://github.com/pmqs/IO-Compress/blob/master/bin/streamzip

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM