我试图找出一种在 Ubuntu Server LTS 上使用 tar+pipes 的方法。
我有一个 postgresql 命令 ( pg_dump
),它在标准输出上输出大量 sql:
pg_dump -U myUser myDB
我知道如何将其重定向到文件:
pg_dump -U myUser myDB > myDB.sql
为了节省一些磁盘空间,我宁愿将它压缩:我可以从那个 myDB.sql 中创建一个 tar.gz 文件,然后删除 myDB.sql。
但我想知道 - 有没有办法在不创建中间 .sql 文件的情况下做到这一点?我相信这可以通过管道来完成……但是我不是贝壳大师,对它们知之甚少(我能做到ls | more
,仅此而已)。我尝试了几种变体,pg_dump .. | tar ...
但没有成功。
如何使用管道将 tar 的输出pg_dump
用作 tar 的输入?还是我只是弄错了什么?