Eu precisava copiar várias pastas do mesmo diretório usando um comando. Então eu fiz isso primeiro,
sftp> mget -r folder1 folder2
Este comando foi copiado folder1
para o servidor de destino, mas renomeado para folder2
.
Eu provavelmente deveria ter feito algo como o seguinte. Mas, eu não tentei
sftp> get -r folder1 && sleep 5 && get -r folder2
Eu não tentei isso, mas acho que teria funcionado.
Existe alguma alternativa melhor para isso?
O
mget
subcomando no sftp é um alias paraget
:O
get
subcomando tem uma sintaxe de:Se você fornecer
get
oumget
vários parâmetros, ele tratará o segundo como o destino de renomeação do primeiro. Como resultado, você não pode recuperar vários diretórios de uma vez; você precisará obtê-los separadamente:A sintaxe sftp também não permite o encadeamento de comandos no estilo shell, portanto, você não pode usar um comando como:
. Também não há necessidade de tentarget -r folder1 && ...
sleep
entre comandos get, a menos que você precise de um atraso para outros fins (um processo de observação local, para poupar a rede por alguns segundos, etc).Como alternativa a
sftp
, considerescp
:... que copiará recursivamente o remoto
folder1
e osfolder2
diretórios para o local/local/directory
.Se suas pastas forem folder1 e folder2, você poderá obtê-las usando um comando.