【发布时间】:2015-06-21 07:13:04
【问题描述】:
我正在尝试在我们的 DMZ 中的远程服务器上 pg_dump 一个 SQL 数据库。有2个问题。
-
远程服务器上没有太多空间,所以运行正常命令来本地备份数据库
pg_dump -C database > sqldatabase.sql.bak因空间问题无法使用。 -
我也无法使用其他版本的 pg_dump 命令将数据库从远程服务器转储到本地服务器:
pg_dump -C -h remotehost -U remoteuser db_name | psql localhost -U localuser db_name
因为服务器在我们的 DMZ 中并且端口 5432 被阻止。我希望看到的是是否可以对数据库进行 pg_dump 并立即将其(ssh 或其他形式)作为文件保存到远程服务器。
我正在尝试的是:pg_dump -C testdb | ssh admin@ourserver.com | > /home/admin/testdb.sql.bak
有谁知道我想要实现的目标是否可行?
【问题讨论】:
-
[未测试] (1) 在您的本地机器上设置一个 netcat 监听器(使用未使用或被阻止的端口号),例如
netcat -l -p 1234 > thefile &。 (2) 从远程机器,执行:pg_dump ... | netcat your.local.ip 1234
标签: postgresql ssh remote-server pg-dump