加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 18:47:56 所属栏目:安全 来源:网络整理
导读:我试图找出一种在Ubuntu服务器LTS上使用tar管道的方法. 我有一个postgresql命令(pg_dump),它在标准输出上输出很多sql: pg_dump -U myUser myDB 我知道如何重定向到一个文件: pg_dump -U myUser myDB myDB.sql 为了节省一些磁盘空间,我宁愿把它压缩:我可以
我试图找出一种在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”实用程序只是压缩;它不会做档案.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读