CORRIGIDO : inicialmente aleguei erroneamente que o OpenSSH não suportava put -r
. Faz, mas faz de uma maneira muito estranha. Parece esperar que o diretório de destino já exista, com o mesmo nome do diretório de origem.
sftp> put -r source
Uploading source/ to /home/myself/source
Couldn't canonicalize: No such file or directory
etc.
sftp> mkdir source
sftp> put -r source
Uploading source/ to /home/myself/source
Entering source/
source/file1
source/file2
O que é especialmente estranho é que isso se aplica mesmo se você der um nome diferente para o destino:
sftp> put -r source dest
Uploading source/ to /home/myself/dest
Couldn't canonicalize: ...
sftp> mkdir dest
sftp> put -r source dest
Uploading source/ to /home/myself/dest/source
Couldn't canonicalize: ...
sftp> mkdir dest/source
sftp> put -r source dest
Uploading source/ to /home/myself/dest/source
Entering source/
source/file1
source/file2
Para uma porcentagem recursiva implementada melhorput
, você pode usar a ferramenta de linha de comando PuTTY psftp
. Está no pacote putty-tools
no Debian (e provavelmente no Ubuntu).
Como alternativa, o Filezilla fará o que quiser, se você quiser usar uma GUI.