如何在CLI将标准输入压缩为Zip并输出时指定归档内文件名?
解决方法:无需临时文件,指定Zip归档内文件名并输出到stdout
使用标准zip命令
你可以通过调整zip的参数直接实现需求,核心是利用参数明确输出目标、归档内文件名以及输入来源:
mysqldump [你的导出参数] | zip -q - output.sql - | aws s3 cp - s3://[bucket_name]/output.sql.zip
参数说明:
-q:关闭冗余日志输出,避免干扰数据流传递-:指定将生成的Zip归档输出到标准输出output.sql:设置Zip归档内的文件名- 最后的
-:指示zip从标准输入读取output.sql的内容
备选方案:使用7z工具
如果系统安装了7-Zip(7z命令),可以用更直观的参数实现相同效果:
mysqldump [你的导出参数] | 7z a -sioutput.sql -so -tzip | aws s3 cp - s3://[bucket_name]/output.sql.zip
参数说明:
a:执行添加文件到归档的操作-sioutput.sql:从标准输入读取内容,并将其命名为output.sql加入归档-so:将生成的归档输出到标准输出-tzip:强制指定归档格式为Zip
内容的提问来源于stack exchange,提问作者Aurimas Skaburskas
相关产品推荐
相关产品推荐

