English 中文(简体)
Copying data from STDOUT to a remote machine using SFTP
原标题:

In order to backup large database partitions to a remote machine using SFTP, I d like to use the databases dump command and send it directly over using SFTP to a remote location.

This is useful when needing to dump large data sets when you don t have enough local disk space to create the backup file, and then copy it to a remote location.

I ve tried using python + paramiko which provides this functionality, but the performance much worse than using the native openssh/sftp binary to transfer files.

Does anyone have any idea on how to do this either with the native sftp client on linux, or some library like paramiko? (but one that performs close to the native sftp client)?

问题回答

If you have remote shell access (ssh), you can do something like the following:

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

Google "pipe over ssh" for more examples, e.g. this example using tar.

I d recommend sshfs, which operates over SFTP protocol.

Some OS distributions have this packaged, for others you ll need to compile, for example on RedHat Enterprise Linux 5.4+ or its clones like CentOS:

sudo yum install fuse-devel glib-devel
sudo usermod -a -G fuse "$USER"

cd /tmp
tar xzf sshfs-fuse-2.2.tar.gz
cd sshfs-fuse-2.2
./configure
make
sudo make install

# relogin

mkdir /tmp/servername
sshfs servername:directory /tmp/servername/
ls /tmp/servername/




相关问题
摘录数据

我如何将Excel板的数据输入我的Django应用? I m将PosgreSQL数据库作为数据库。

Postgres dump of only parts of tables for a dev snapshot

On production our database is a few hundred gigabytes in size. For development and testing, we need to create snapshots of this database that are functionally equivalent, but which are only 10 or 20 ...

How to join attributes in sql select statement?

I want to join few attributes in select statement as one for example select id, (name + + surname + + age) as info from users this doesn t work, how to do it? I m using postgreSQL.

What text encoding to use?

I need to setup my PostgreSQL DB s text encoding to handle non-American English characters that you d find showing up in languages such as German, Spanish, and French. What character encoding should ...

SQL LIKE condition to check for integer?

I am using a set of SQL LIKE conditions to go through the alphabet and list all items beginning with the appropriate letter, e.g. to get all books where the title starts with the letter "A": SELECT * ...

热门标签