shell脚本:使用管道作为tar的输入

我试图找出一种在ubuntu服务器LTS上使用tar管道的方法.

我有一个postgresql命令(pg_dump),它在标准输出输出很多sql

pg_dump -U myUser myDB

我知道如何重定向一个文件

pg_dump -U myUser myDB > myDB.sql

为了节省一些磁盘空间,我宁愿把它压缩:我可以从该myDB.sql一个tar.gz文件,然后删除myDB.sql.

但我想知道 – 有没有办法这样做,而不创建中间的.sql文件?我相信这可以用管道完成…但是我不是shell大师,对他们很少了解(我可以做ls |更多,这就是全部).我已经尝试过pg_dump .. |的几个变体tar …但没有成功.

如何使用管道将pg_dump的输出用作tar的输入?还是我刚刚搞错了?

我没有看到“焦油”这个数字呢?为什么不压缩转储文件本身?
pg_dump -U myUser myDB | gzip > myDB.sql.gz

然后,恢复:

gzip -cd myDB.sql.gz | pg_restore ...

“tar”实用程序用于将一堆文件和目录捆绑到一个文件中(名称是“磁带归档”的缩写).在这方面,“tar”文件就像一个“zip”文件,除了“zip”总是意味着压缩,而“tar”则没有.

请注意,“gzip”不是“zip”. “gzip”实用程序只是压缩;它不会做档案.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...