2

SFTP を使用して大規模なデータベース パーティションをリモート マシンにバックアップするために、databases dump コマンドを使用して、SFTP を使用してリモートの場所に直接送信したいと考えています。

これは、バックアップ ファイルを作成し、それをリモートの場所にコピーするのに十分なローカル ディスク領域がない場合に、大きなデータ セットをダンプする必要がある場合に役立ちます。

この機能を提供するpython + paramikoを使用してみましたが、ネイティブの openssh/sftp バイナリを使用してファイルを転送するよりもパフォーマンスが大幅に低下します。

Linuxのネイティブsftpクライアント、またはparamikoのようなライブラリでこれを行う方法について誰か考えがありますか? (ただし、ネイティブの sftp クライアントに近いパフォーマンスを発揮するもの)?

4

2 に答える 2

2

リモート シェル アクセス (ssh) がある場合は、次のようなことができます。

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

より多くの例については、Google の「pipe over ssh」を参照してください。たとえば、この例では tar を使用しています。

于 2010-05-05T11:07:37.020 に答える
0

SFTP プロトコルで動作するsshfsをお勧めします。

一部の OS ディストリビューションにはこれがパッケージ化されていますが、RedHat Enterprise Linux 5.4+ や CentOS などのクローンなど、コンパイルが必要な OS ディストリビューションもあります。

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/
于 2010-05-05T14:38:34.660 に答える