2009-09-12 21:39:59 +0000 2009-09-12 21:39:59 +0000
201
201

¿Cómo consigo un directorio entero en sftp?

Estoy aprendiendo a usar sftp, y quiero copiar un directorio del ordenador remoto a mi ordenador local. Si intento

get [directory]

me da este error:

Cannot download non-regular file: /home/mpirocch/Documents

get -R tampoco funciona.

Respuestas (9)

282
282
282
2010-11-29 21:38:08 +0000

Use la bandera -r (recursiva):

get -r *
52
52
52
2009-09-12 21:51:06 +0000

Uso:

scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
42
42
42
2010-04-08 13:54:47 +0000

Use lftp :

lftp sftp://user@host

Luego, dentro de lftp, cd en el directorio que desea copiar, y use el comando mirror para descargar recursivamente el directorio seleccionado, así:

mirror

Este comando acepta opciones y argumentos:

mirror [_OPTIONS_] [_source_ [_target_]]

Por ejemplo, la opción -R (o --reverse) hará que suba el árbol de directorios locales al directorio remoto:

mirror -R

Vea la página de manual de lftp(1) en el sitio del proyecto o en Debian. org para otros comandos y opciones.

17
17
17
2014-03-10 01:18:10 +0000

bueno esta pequeña guía debería ayudar, espejar un servidor remoto a una carpeta local con lftp

lftp sftp://user:password@server.org:22 -e 'mirror --verbose --use-pget-n=8 -c /remote/path /local/path'

  • sftp:// = usa el protocolo SFTP
  • mirror = modo espejo
  • verbose = muestra los archivos que se están descargando
  • use-pget-n = número de segmentos, realmente útil para acelerar archivos grandes
  • parallel = descarga archivos multiplicadores al mismo tiempo

si quieres descargar archivos en paralelo cambia use-pget-n=8 con --parallel=8

espero que esto ayude a cualquiera que necesite duplicar una carpeta remota a una carpeta local

15
15
15
2009-09-13 03:11:22 +0000

No uses el programa sftp directamente si puedes encontrar algo mejor. Para Linux, muchos gestores de archivos (al menos Nautilus y Dolphin, los de GNOME y KDE) soportan sftp de forma nativa, y siempre hay sshfs. Para Windows, está WinSCP, y probablemente otros . El punto de todo esto es permitirte acceder a los archivos a través de sftp como si estuvieran en un sistema de archivos normal, así que no tienes que preocuparte de acceder a ellos a través de sftp.

14
14
14
2009-09-12 22:34:42 +0000

Intenta con mget en lugar de get.

Aclaración: mget **funcionará si estás dentro del directorio que quieres copiar; si haces algo como esto:

sftp> cd dir_to_get
sftp> mget *

obtendrá todos los archivos de ese directorio. Sin embargo, no obtendrá no recursivamente el contenido de ningún subdirectorio.

10
10
10
2012-03-06 16:56:09 +0000
get -r [directory]

tiene [directory] y todo lo que está debajo, donde r significa recursivo. Encontré esto escribiendo help de sftp.

4
4
4
2013-01-11 09:50:29 +0000

Como con cp:

scp -rp user@host:/path/to/dir dir

Lo anterior preservará los tiempos y modos de los archivos y subdirectorios originales. Esto es especialmente útil para la recuperación de las copias de seguridad.

0
0
0
2011-09-28 08:39:19 +0000

Tengo la carpeta dist de Java en el servidor remoto, donde tengo el siguiente árbol:

- dist
--- Audio.jar
--- README
--- lib
----- lib.jar

La meta 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 meta

$ ls
Audio.jar lib README.TXT