为了使用 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/