Estou apenas aprendendo a usar o sftp e quero copiar um diretório do computador remoto para o meu computador local. Se eu tentar
get [directory]
isso me dá este erro:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
também não funciona.
Respostas:
Use o
-r
sinalizador (recursivo):fonte
get: Invalid flag -r
-r
bandeira não existia. O seu sistema está atualizado?Usar:
fonte
scp -r
. Ou você pode usar um cliente SFTP avançado como o Filezilla.sftp
, mas nãoscp
acessar.Use
lftp
:Em seguida, no lftp,
cd
no diretório que você deseja copiar e use omirror
comando para baixar recursivamente o diretório selecionado, assim:Este comando aceita opções e argumentos:
Por exemplo, a opção
-R
(ou--reverse
) fará o upload da árvore de diretórios local para o diretório remoto:Veja a
lftp(1)
página de manual no site do projeto ou no Debian.org para outros comandos e opções.fonte
bem, este pequeno guia deve ajudar, espelhar um servidor remoto na pasta local com o lftp
lftp sftp://user:[email protected]:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= usa protocolo SFTPmirror
= modo espelhoverbose
= mostra os arquivos que estão sendo baixadosuse-pget-n
= número de segmentos, muito útil para acelerar arquivos grandesparallel
= baixa arquivos multiplicadores ao mesmo tempoSe você deseja baixar arquivos em paralelo, alterne
use-pget-n=8
com--parallel=8
espero que isso ajude qualquer pessoa que precise espelhar uma pasta remota para uma pasta local
fonte
lftp 'sftp://user:[email protected]:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
Não use o programa sftp diretamente se puder encontrar algo melhor. Para Linux, muitos gerenciadores de arquivos (pelo menos Nautilus e Dolphin, GNOME e KDE) suportam o sftp nativamente, e sempre há sshfs. Para o Windows, há o WinSCP e provavelmente outros . O objetivo de tudo isso é permitir que você acesse arquivos pelo sftp como se estivessem em um sistema de arquivos normal, para que você não precise se preocupar em acessá-los pelo sftp.
fonte
sftp/ssh
eu estava com uma interface simples de linha de comando (transferências de arquivos de cerca de 100 MB / s). Portanto, o problema era o Nautilus no GNU / Linux Mint.Tente em
mget
vez deget
.Esclarecimento:
mget
vai funcionar se você está dentro do diretório que você deseja copiar; se você fizer algo assim:ele receberá todos os arquivos nesse diretório. No entanto, ele não obterá recursivamente o conteúdo de nenhum subdiretório.
fonte
fica
[directory]
e tudo sob ele, onder
significa recursivo. Achei isso apenas digitandohelp
a partirsftp
.fonte
Tal como acontece com
cp
:O acima preservará os horários e modos dos arquivos e subdiretórios originais. Isso é especialmente útil para a recuperação de backups.
fonte
Eu tenho a pasta Java dist no servidor remoto, onde tenho a seguinte árvore:
O objetivo é: eu quero usar o SFTP? E coloque-os em / tmp / <>
Etapa 1. sftp remoteuser @ ip
Etapa 2. cd / var / tmp
Etapa 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Etapa 3. lcd / tmp / dist
Etapa 4. mget *
Etapa 5. lcd / tmp / dist / lib
Etapa 6. mget *
Passo 7. finalmente eu tenho meu objetivo
fonte