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.
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 -rbandera (recursiva):
get -r *
get: Invalid flag -r
-rbandera no existía. ¿Su sistema está actualizado?
Utilizar:
scp -r mpirocch@my-server:/home/mpirocch/Documents Documents
scp -r. O puede usar un cliente SFTP avanzado como Filezilla.
sftp, pero no el scpacceso.
Uso lftp:
lftp sftp://user@host
Luego, dentro de lftp, cden el directorio que desea copiar, y use el mirrorcomando para descargar recursivamente el directorio seleccionado, así:
mirror
Este comando acepta opciones y argumentos:
espejo [ OPCIONES ] [ fuente [ destino ]]
Por ejemplo, la opción -R(o --reverse) hará que cargue el árbol del directorio local en el directorio remoto:
mirror -R
Vea la lftp(1)página del manual en el sitio del proyecto
o en Debian.org para otros comandos y opciones.
bueno, esta pequeña guía debería ayudar, duplicar un servidor remoto a la 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 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=8con--parallel=8
Espero que esto ayude a cualquiera que necesite duplicar una carpeta remota en una carpeta local
lftp 'sftp://user:pa$$word@server.org: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.
sftp/sshinterfaz 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 mgetlugar de get.
Aclaración: mget se trabajará si está dentro del directorio que desea copiar; si haces algo como esto:
sftp> cd dir_to_get
sftp> mget *
obtendrá todos los archivos en ese directorio. Sin embargo, será no recursiva obtener el contenido de todos los subdirectorios.
get -r [directory]
se pone [directory]y todo debajo de él, donde rsignifica recursivo. Encontré esto simplemente escribiendo helpdesde sftp.
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 copias de seguridad.
Tengo la carpeta Java dist en el servidor remoto, donde tengo el siguiente árbol:
- dist
--- Audio.jar
--- README
--- lib
----- lib.jar
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
$ ls
Audio.jar lib README.TXT