如何在不在本地解压缩的情况下将 gunzip 流发送到另一台服务器?

How to send gunzip stream to another server without decompressing on local side?

我有这个 bash 命令:

gunzip db.gz | ssh user@host mysql -uroot -ppassword db

它可以工作,但会解压缩 db.gz 文件,然后必须重新压缩该文件。我想完整地保留压缩文件。我做了一个人 'gunzip' 但没有看到类似这样的选项。

再看一遍手册页。有一个 -k--keep 选项可以执行此操作。手册页说:

Keep (don't delete) input files during compression or decompression.

一种选择是通过网络以压缩形式发送文件并在接收方解压缩流。

ssh user@host "gunzip | mysql -uroot -ppassword db" < db.gz