Progresso na busca de arquivos grandes pelo sftp

2

Eu gostaria de get arquivo grande sobre o sftp. Eu executo os seguintes comandos:

kopparberg:dev marek$ sftp -P 678 marek@server
marek@server's password: 
Connected to server.
sftp> cd backup
sftp> get database.gz /Volumes/www/backup/
Fetching /backup/database.gz to /Volumes/www/backup/database.gz
                                                  9%   44MB   1.4MB/s   05:06 ETA

Como seguem mais alguns comandos, decidi escrever um script bash e coloquei comandos sftp em batchfile.

O arquivo Bash é assim:

#!/bin/bash

#get backup file
sftp -P 678 -o "BatchMode no" -b batchfile.sftp marek@server

#following commands
#...

Em bacthfile.sftp são apenas três etapas:

cd backup
get database.gz /Volumes/www/backup/
quit

O problema é que não vejo progresso quando executo o arquivo bash. Existe alguma explicação racional por trás?

    
por Marek 02.12.2012 / 00:18

2 respostas

2

Por que você não usa apenas um único comando do SCP?

scp -P 678 marek@server:/backup/database.gz /Volumes/www/backup/

Eu também acredito que usar este método lhe dará a saída desejada evern quando executado a partir de um script.

    
por 02.12.2012 / 01:06
1

O rsync over sftp fará isso por você, sem necessidade de scripts:

rsync -av --progress -e 'ssh -p 678' marek@server:backup/database.gz /Volumes/www/backup/
    
por 02.12.2012 / 01:07