Estoy aprendiendo a usar sftp y quiero copiar un directorio de la computadora remota a mi computadora local. Si lo intento
get [directory]
me da este error:
Cannot download non-regular file: /home/mpirocch/Documents
get -R
tampoco funciona.
Respuestas:
Use la
-r
bandera (recursiva):fuente
get: Invalid flag -r
-r
bandera no existía. ¿Su sistema está actualizado?Utilizar:
fuente
scp -r
. O puede usar un cliente SFTP avanzado como Filezilla.sftp
, pero no elscp
acceso.Uso
lftp
:Luego, dentro de lftp,
cd
en el directorio que desea copiar, y use elmirror
comando para descargar recursivamente el directorio seleccionado, así:Este comando acepta opciones y argumentos:
Por ejemplo, la opción
-R
(o--reverse
) hará que cargue el árbol del directorio local en el directorio remoto:Vea la
lftp(1)
página del manual en el sitio del proyecto o en Debian.org para otros comandos y opciones.fuente
bueno, esta pequeña guía debería ayudar, duplicar un servidor remoto a la carpeta local con lftp
lftp sftp://user:[email protected]:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
sftp://
= usa el protocolo SFTPmirror
= modo espejoverbose
= muestra los archivos que se están descargandouse-pget-n
= número de segmentos, realmente útil para acelerar archivos grandesparallel
= descarga archivos multiplicadores al mismo tiemposi desea descargar archivos en paralelo, cambie
use-pget-n=8
con--parallel=8
Espero que esto ayude a cualquiera que necesite duplicar una carpeta remota en una carpeta local
fuente
lftp 'sftp://user:[email protected]:22' -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'
No use el programa sftp directamente si puede encontrar algo mejor. Para Linux, muchos administradores de archivos (al menos Nautilus y Dolphin, los de GNOME y KDE) admiten sftp de forma nativa, y siempre hay sshfs. Para Windows, hay WinSCP, y probablemente otros . El objetivo de todo esto es permitirle acceder a archivos a través de sftp como si estuvieran en un sistema de archivos normal, para que no tenga que preocuparse de que esté accediendo a ellos a través de sftp.
fuente
sftp/ssh
interfaz de línea de comando simple lo estaba (transferencias de archivos de aproximadamente 100 MB / s). Entonces el problema fue Nautilus en GNU / Linux Mint.Intenta en
mget
lugar deget
.Aclaración:
mget
se trabajará si está dentro del directorio que desea copiar; si haces algo como esto:obtendrá todos los archivos en ese directorio. Sin embargo, será no recursiva obtener el contenido de todos los subdirectorios.
fuente
se pone
[directory]
y todo debajo de él, donder
significa recursivo. Encontré esto simplemente escribiendohelp
desdesftp
.fuente
Como con
cp
:Lo anterior preservará los tiempos y modos de los archivos y subdirectorios originales. Esto es especialmente útil para la recuperación de copias de seguridad.
fuente
Tengo la carpeta Java dist en el servidor remoto, donde tengo el siguiente árbol:
El objetivo es: ¿Quiero usar SFTP? Y ponerlos en / tmp / <>
Paso 1. sftp remoteuser @ ip
Paso 2. cd / var / tmp
Paso 2. lmkdir / tmp / dist; lmkdir / tmp / dist / lib
Paso 3. lcd / tmp / dist
Paso 4. mget *
Paso 5. lcd / tmp / dist / lib
Paso 6. mget *
Paso 7. finalmente tengo mi objetivo
fuente