postgresql - 使用 SFTP 将数据从 STDOUT 复制到远程机器

标签 postgresql ssh sftp database-backups remote-backup

为了使用 SFTP 将大型数据库分区备份到远程计算机,我想使用数据库转储命令并使用 SFTP 将其直接发送到远程位置。

当您没有足够的本地磁盘空间来创建备份文件时需要转储大型数据集,然后将其复制到远程位置时,这很有用。

我试过使用 python + paramiko它提供了这个功能,但是性能比使用 native openssh/sftp 二进制文件传输文件要差得多。

有没有人知道如何使用 Linux 上的 native sftp 客户端或某些库(如 paramiko)执行此操作? (但性能接近于 native sftp 客户端)?

最佳答案

如果您有远程 shell 访问权限 (ssh),您可以执行以下操作:

fancy-sql-dump-command --to-stdout | ssh me@remotehost "cat > my-dql-dump.sql"

谷歌“pipe over ssh”以获得更多示例,例如this example using tar .

关于postgresql - 使用 SFTP 将数据从 STDOUT 复制到远程机器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2772454/

相关文章:

xcode - 从远程计算机使用Xcode

linux - 通过多个防火墙的反向 SSH 隧道

java - 这对 sftp : java or shell script? 更有效

java - 传入文件的 Apache Mina SFTP 服务器端 channel 监听器

ruby-on-rails - mongo与postgres模型的关联

postgresql - 字符串排序顺序(LC_COLLATE 和 LC_CTYPE)

sql - PostgreSQL 从日期类型获取年份作为整数

php - postgresql 在执行准备好的语句时检查是否存在

linux - Fail2Ban 多次尝试后仍无法阻止 ip

javascript - 有没有办法在 JavaScript 中通过 SFTP 创建到服务器的连接?