O subcomando mget
no sftp é um alias para get
:
static const struct CMD cmds[] = {
{ "bye", I_QUIT, NOARGS },
...
{ "get", I_GET, REMOTE },
{ "mget", I_GET, REMOTE },
...
};
O get
subcomando tem uma sintaxe de:
get [-afPpr] remote-path [local-path]
Se você der get
ou mget
vários parâmetros, ele trata o segundo como o destino de renomeação do primeiro. Como resultado, você não pode recuperar vários diretórios de uma só vez; você precisará pegá-los separadamente:
mget -r folder1
mget -r folder2
A sintaxe sftp também não permite o encadeamento de comandos no estilo de shell, portanto você não pode usar um comando como: . Também não há necessidade de tentar e get -r folder1 && ...
sleep
entre comandos get, a menos que você precise de um atraso para outros propósitos (um processo de observação local, para poupar a rede por alguns segundos, etc.).
Como alternativa a sftp
, considere scp
:
scp -r user@host:folder1 user@host:folder2 /local/directory
... que copiará recursivamente os diretórios remote folder1
e folder2
para o local /local/directory
.